2015-08-25 5 views
0

У меня есть два массива: $ пользователей [] и $ типа []Использование PHP массив в Foreach

С возвращением результат:

Users = Array ([0] => 1 [1] => 1 [2] => 1) 
Types = Array ([0] => 0 [1] => 1 [2] => 0) 

Как я могу назвать их как $ пользователю [ '0] и $ types [' 0] в foreach? Я хочу, чтобы вернуть их, как это:

1,0
1,1
1,0

foreach ($users as $index => $code) { 
    // this return users first number 
    echo $code; 

// i want here to return type first number of array aswell? 
} 

Спасибо,

+0

Если какой-либо из ответов помог вам решить вашу проблему, отметьте ее как ответ. Это поможет другим людям легко найти нужную им информацию. Вы можете прочитать, как это сделать по ссылке RiggsFolly, отправленной вам в комментарии к моему ответу. –

ответ

2

Это просто:

foreach ($users as $index => $code) 
{ 
    echo $users[$index].', '.$types[$index]; 
} 

Если возможно, что каждый массив содержит различное количество элементов (или лучше просто просто не знаете, сколько пункты каждый массив содержит), вы должны также проверить, если конкретный элемент существует во втором массиве:

foreach ($users as $index => $code) 
{ 
    echo $users[$index].', '.(isset($types[$index]) ? $types[$index] : 'doesn\'t exist'); 
} 

Вы также можете использовать, например, for цикл:

// array indexes start from 0, if it they're not set explicitly to something else 
for ($index = 0; $index < count($users); $index++) 
{ 
    echo $users[$index].', '.(isset($types[$index]) ? $types[$index] : 'doesn\'t exist'); 
} 

Если бы не проверить, если конкретный элемент существует во втором массиве, PHP будет выдавать ошибку типа уведомления, который говорит вам, что вы обращаетесь Undefine офсетная:

PHP Notice: Undefined offset: X in script.php on line Y

Где X - это индекс (ключ), который существует в первом массиве, но не существует во втором массиве.

Примечание: вы всегда должны развиваться с поддержкой отображения всех типов ошибок, даже уведомления и всегда проверить, если определенный индекс в массиве, если вы не уверены (например, массив приходит из пользовательский ввод, база данных и т. д.).

+0

Спасибо, этот метод работает отлично. – Seik

+2

[Что делать, если кто-то отвечает на мой вопрос?] (Http://stackoverflow.com/help/someone-answers) – RiggsFolly

+0

@Seik Спасибо за верхнюю часть, но прочитайте эту ссылку, размещенную RiggsFolly. Upvote приятный, но перфоманс отмечает это как ответ. –

0

Я думаю, что получаю то, что вы просите. Вы можете попробовать это

foreach ($users as $i => $element){ 
    echo $users[$i].', '.$types[$i]; 
} 

Это даст вам то, что вы ищете.

+0

Спасибо, ребята, этот метод отлично работает! Это было простое решение. – Seik

Смежные вопросы