2013-03-17 4 views
0

Я бег цикла:индивидуального значения в цикле

$array = $_POST['d']; 

foreach($array as $a){ 
    print_r($a); 
} 

$ массив содержит массив (количество массива изменяется) и я получаю это в результате. Я просто хочу знать, как я могу вызывать эти значения отдельно в цикле. например: $ вещь = значение methv в петле

Array ( 
    [1173627548] => Array ( 
    [num] => 1173627548 
    [methv] => dont know 
    [q1] => - 
    [q2] => - 
    [q3] => U 
    [q4] => - 
    [comm] => 
    ) 
) 

Извините, если я мутноватый

print_r ($ array) показать это:

Array ([0] => Array ([1173627548] => Array ([num] => 1173627548 [methv] => dont know [q1] => - [q2] => - [q3] => U [q4] => - [comm] =>)) [1] => Array ([1182868902] => Array ([num] => 1182868902 [methv] => dont know [q1] => - [q2] => - [q3] => U [q4] => - [comm] =>))) Array ([0] => Array ([1173627548] => Array ([num] => 1173627548 [methv] => dont know [q1] => - [q2] => - [q3] => U [q4] => - [comm] =>)) [1] => Array ([1182868902] => Array ([num] => 1182868902 [methv] => dont know [q1] => - [q2] => - [q3] => U [q4] => - [comm] =>))) 

Примечание: теперь у меня есть 2 массивы в этом массиве

ответ

0

Я думаю, вы хотите, чтобы петля на массиве $a, каждый из элементов которой также является массивом.

Когда цикл $ массива есть один элемент которого информация является один вы сказали:

Array ( 
    [1173627548] => Array ( 
    [num] => 1173627548 
    [methv] => dont know 
    [q1] => - 
    [q2] => - 
    [q3] => U 
    [q4] => - 
    [comm] => 
    ) 
) 

Если вы хотите получить доступ к methv элемент, который вы должны сделать следующее:

foreach($array as $a){ 
    echo $a["methv"]; // this would access $array[ 1173627548 ][ "methv" ] 
} 

В то время как foreach продолжает вы будете продолжать получать доступ ко всем значениям $array[ ][ "methv" ] Надеюсь, что это поможет.


Основываясь на ваш комментарий, указывающий print_r($array).

Прежде всего, позвольте мне отступа его так, что мы получаем более полное представление массива:

Array ( 
    [0] => Array ( 
    [1173627548] => Array ( 
     [num] => 1173627548 
     [methv] => dont know 
     [q1] => - 
     [q2] => - 
     [q3] => U 
     [q4] => - 
     [comm] => 
     ) 
    ) 
    [1] => Array ( 
    [1182868902] => Array ( 
     [num] => 1182868902 
     [methv] => dont know 
     [q1] => - 
     [q2] => - 
     [q3] => U 
     [q4] => - 
     [comm] =>) 
     ) 
) 
Array (
    [0] => Array (
    [1173627548] => Array ( 
     [num] => 1173627548 
     [methv] => dont know 
     [q1] => - 
     [q2] => - 
     [q3] => U 
     [q4] => - [comm] => 
     ) 
    ) 
    [1] => Array (
    [1182868902] => Array (
     [num] => 1182868902 
     [methv] => dont know 
     [q1] => - 
     [q2] => - 
     [q3] => U 
     [q4] => - 
     [comm] => 
     ) 
    ) 
) 

Я думаю, вы печатаете его дважды, потому что мы можем увидеть два точно массивам один за другим ,

Если вы хотите получить [methv] пункт, что вам нужно, чтобы получить доступ к:

$array[ 0 ][ 1173627548 ][ "methv" ] 
$array[ 1 ][ 1182868902 ][ "methv" ] 

Так что вы можете сделать, это использовать foreach дважды:

foreach ($array as $a) { 
    foreach ($a as $v) { 
     echo $v[ "methv" ]; 
    } 
} 
+0

hey mate спасибо за ответ, я только что попробовал это, и я получаю неопределенный индекс. Любые другие идеи? спасибо – user2162768

+0

Пожалуйста, покажите 'print_r ($ array)', чтобы мы могли узнать, вы отправили 'print_r ($ array)' или 'print_r ($ array [1173627548])' – fedorqui

+0

отредактировал извините за поздний ответ – user2162768

0

Для отладки, я хотел бы предложить некоторые сырые, но читаемые отладки, например:

function trace($a) { print "<pre>".var_export($a, 1)."</pre>"; } 
// then you can do: 
trace($array); 

Что касается вашего вопроса, вы можете получить доступ к ключу methv следующим образом: $array[0][1173627548]['methv'] (или $array[1173627548]['methv'], если вышеуказанная трассировка является полной переменной $ array).

+0

эй чувак спасибо за ответ, я было бы больше значений в массиве с разными числами. есть ли другой способ назвать это? – user2162768

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