2015-01-03 4 views
0

, 나는 나에게 쇠고기와 브로콜리의 가치를 줄 것이다, echo $china['china1']['name'];를 복제 할 수 있도록, $r_id = china$d_id = china1 이전 페이지에 정의 echo $r_id[$d_id]['name'];"를 사용하는 것을 시도하고 다차원 배열에서, 오프셋 (offset) 배열에서.경고 : 잘못된 문자열은 아래의 코드에서

<?php 
$china = array(
'china1'=> array(
'cat'=> "Chinese", 
'id'=>"C1", 
'name'=>"Beef and Broccoli", 
'instruction'=> "Placeholder") 
); 

if(isset($_GET["r_id"])){ 
     if(isset($_GET["d_id"])){ 
      $r_id = $_GET["r_id"]; 
      $d_id = $_GET["d_id"]; 
     } 
    } 

    echo $r_id[$d_id]['name']; 

?> 

하지만 무엇입니까 모두가 이것이다 :

Warning: Illegal string offset 'china1' in.... 

Warning: Illegal string offset 'name' in.... 

은 내가 잘못 어디서 않았다

? 이전 페이지 코드 : 당신은 URL에 직접 변수를 전달할 수 없습니다

 <table border = 1px align = center style = "margin-top:100px;"> 
     <tr> 
      <td><a href="recipes.php?r_id=china&d_id=china1"><img src="images/china1icon.jpg"/></a></td> 
      <td><img src="images/vietnam1icon.jpg"/></td> 
      <td><img src ="images/japan1icon.jpg"/></td> 
      <td><img src ="images/korea1icon.jpg"/></td> 
     </tr> 
    </table> 
+0

$ d_id가 확실합니까? 이 오류는 $ r_id [$ d_id]가 설정되지 않은 경우 발생합니다. 즉, 키 $ d_id가 존재하지 않습니다. 가장 좋은 추측은 r_id가 설정되지 않았기 때문에 if (isset ($ _ GET [ "r_id"]))가 바이 패스 된 것입니다. – ggdx

+0

@ dwhite.me 이전 페이지에서 사용한 내용입니다. JayyJayy

답변

2

: <a href="recipes.php?r_id=$china&d_id=china1"></a>. URL에 <a href="recipes.php?r_id=" . $china . "&d_id=china1"></a>과 같은 변수를 인쇄하면 작동합니다. 당신이 echo $china['china1']['name'];가되고 echo $r_id[$d_id]['name'];를 원하는 경우

그리고이 페이지에

$r_id는 당신이 variable variable 정의 이중 달러 기호,주의, $$r_id[$d_id]['name']을 할 필요가, 지금 'china'입니다.

+0

이전 2 개의 오류 메시지 상단에 "알림 : 정의되지 않은 변수 : $"라는 오류 메시지가 표시되므로 여기에는 문제가없는 것 같습니다. . – JayyJayy

+0

이전에 귀하의 의견을 읽지 않았습니다. 내 수정 된 답변을 참조하십시오. – d4nyll

관련 문제