Я пытаюсь создать 2 новых массива из одного существующего массива ($ array), используя следующий цикл «foreach».Однако я не уверен, что это правильно:
$emails = array();
$numbers = array();
while($array){
$entry = $array['entry1'];
$number = number($entry);
if(isset($number) && (strlen($number) > 9)){
$numbers[] = array('entry1' => $entry, 'number' => $number);
}
else{
$email = email($entry);
$emails[] = array('entry1' => $entry, 'email' => $email);
}
}
должны ли внутренние массивы иметь []
?мне даже нужно запускать массивы вне цикла while?или пропустить это?лучше использовать цикл foreach?
Обновление:
Хорошо, вот исходный массив: он извлекается из запроса MySQL из наборов из двух чисел:
{('uid1','uid2'),('uid1','uid5'),('uid9','uid93'),....)
В каждой строке могут быть другие данные, но это только две точки данных, которые действительно имеют значение.
Я пытаюсь сделать это для конкретного пользователя ($ entry), создать две отдельныемассивы: всех пользователей, у которых есть номера (у нас есть такая функция), и всех остальных - их электронных писем.Таким образом, результатом будут 2 новых массива, которые будут выглядеть следующим образом: для конкретного uid79887
:
numbers array: {('uid8','xxx-xxxx-xxx'),('uid34','yyy-yyyy-yyy'),('uid654','vvv-vvvv-vvv')}
emails array: {('uid4','mmm@mmm.com'),('uid1','lll@lll.com'),('uid55554','ppp@ppp.com')}