2016-06-10 4 views
-2

의 그들은 키 받기 내 기존 코드 : 인쇄 해보십시오는 배열 오프셋 정의 - 각 배열

foreach($masterData as $data) { ?> 
     <tr> 
      <td><?=$data[0]?></td> //error line here 
     </tr> 

     <? 
     echo '<pre>',print_r($data),'</pre>'; 

     }?> 

대한 결과 $data :

Array 
(
    [payment] => Array 
     (
      [name] => name 
      [email] => address 
      [depositdate] => 3-mar-16 
      [depositamount] => 200 

     ) 

) 
1 
Array 
(
    [payment] => Array 
     (
      [name] => John 
      [email] => [email protected] 
      [depositdate] => 29-Apr-16 
      [depositamount] => 5000.70 

     ) 

) 
1 

그러나 $data[0], [1], [2] 반향 .. PHP는 줘 통지 : Notice: Undefined offset: 0

이 오류가 발생했을 수 있습니까? 내 코드에 문제가 있거나이를 수정하는 방법이 있습니까?

+1

사용을 시도'에코 $ 데이터 [ '지불'] [ '이름']' – Saty

+0

당신이'$ 데이터 [0]'의 장소에서 에코하려면? –

+0

@Saty 지불 배열을 보유하고있는 배열 (키 또는 색인)을 어떻게 얻을 수 있습니까? –

답변

2

는 배열의 모든 인덱스의 키를 얻기 위해이 시도 :

<?php 
foreach($masterData as $key=>$data) { // you can get key of array in $key 
?> 

<tr> 
     <td><?=$key?></td> <!-- you can get $key here --> 
</tr> 

<?php 
echo '<pre>',print_r($data),'</pre>'; 
} 
?> 
+0

그게 내가 바라는 대답 이었어! 고맙습니다. –

+0

아, 이제 내가 원하는 것을 얻게됩니다. – GiftZwergrapper

+0

@DharmParmar 다시 한번 감사드립니다. 누구든지 내 질문을 업데이트 할 수 있습니다. –

1

오류 메시지와 마찬가지로 정의되지 않은 오프셋에 액세스하고 있습니다.

$ 데이터에는 '이름', '이메일'등이 '0'이 아닌 '지불'만 있습니다. 당신이 '지불'의 값을 원하는 경우 당신이 $ 데이터에 액세스해야 [ '지불']

-1

을 당신이 당신의 배열에 액세스해야 키의 값 그래서 그냥 난 당신이 키 값을 배열에 액세스 할 필요가 있다고 생각

echo $data['name']; // or whatever element you want to retrieve from the payment-set 
+0

'$ data [ 'payment'] [ 'name']'이어야합니다. – Barmar

+0

@Barmar 그가 foreach 루프 $ data를 사용하고 있기 때문에 이미 payment 배열을 보유하고 있습니다. – mikesp

0

을 시도합니다. 그래서 그냥

$payment_name = isset($data['payment']['name']) ? $data['payment']['name'] : "";