2014-08-07 5 views
-2

На мой взгляд, у меня естьпечати элемент массива с помощью цикла Еогеасп

forach($array as $arr)  
{ 
$data = array('fname' => $arr['first_name'],lname => $arr['lname']);  
<input type="hidden" value="<?php print_r($data);?>" name="fnameData[]">  
} 

Теперь я вношу формы контроллера и печати print_r ($ this-> вход-> пост (fnameData)) печатает следующий массив

Array(

    [0] => Array([fname] => abc lname => aaa) 
    [1] => Array([fname] => xyz lname => bbb) 

) 

Теперь я хочу, чтобы напечатать Fname и LNAME как с использованием foreach loop в контроллере

Это дает мне Illegal строку смещение '' FName

+6

Ну у вас есть ответ, но им поражается ты не смог бы работал на это - его действительно фундаментальные вещи. – Steve

+0

согласен с @ user574632 –

+0

'print_r' только для отладки. И 'var_dump' обычно является лучшим выбором - если бы вы использовали это, мы бы скорее заметили ошибку. Проблема, на ваш взгляд. вы выгружаете строковое представление массива (а не фактического массива) во входное значение. Вы не можете этого сделать, вход может содержать только одно значение в html. Либо создайте больше входных данных, чтобы удерживать значения, либо используйте некоторую сериализацию с каждой стороны (например, json_encode/decode) – Steve

ответ

7

Простого

foreach($your_array as $arr) 
{ 
    echo $arr['fname']; 
} 

UPDATE 2:

<?php 
forach($array as $arr)  
{ 
    $data = $arr['first_name']; 
?> 
    <input type="hidden" value="<?php echo $data;?>" name="fnameData[]">  
<?php 
} 
?> 
+0

, когда я печатаю, как показано на рисунке, это показывает ошибку. Нелегальное смещение строки «fname» –

+0

введите здесь свой массив и код –

+0

Я поставил код и массив –

1
foreach($array as $value){ 
    echo $value["fname"]; 
} 
1
<?php 
    foreach($array as $arr) 
    { 
    $data = $arr['first_name']; 
?> 
<input type="hidden" value="<?php echo $data;?>" name="first_name[]"> 

<?php 
    } 
?> 
Смежные вопросы