2013-08-06 5 views
-1

이것은 매우 멍청한 질문입니다. 이전 개발자는 내가 배열 array("30"=>"ok","40"=>"yes")을 표시 할 수있는 방법디스플레이가 폭발 된 배열

$a = array("30"=>"ok","40"=>"yes"); 

$b = "hi"; 

$c = $a."|".$b; 

$d = explode("|",$c); 

print_r($d[0]); 

아래로 선을 코딩하고있다? print_r($d[0]);array

+0

시도해보십시오 print_r ($ d [30]); –

+0

@IdealBakija : 작동하지 않습니다 .. –

+2

왜'print_r ($ d);'가 아닌가요? – Kristian

답변

2

이 인쇄물을 인쇄 할 것 "array"대신 실제 배열의 값이이 선 이유는 말

$c = $a."|".$b; 

당신이하고있는 것은 :

$c = [array] + [string] + [string]; 

하는 것 arraystring으로 변환하면 "배열"이됩니다.

$c = implode("|",$a)."|".$b; 

을하지만 진짜 가장 좋은 방법은 여기에 배열 폭발 전에 배열 에 무언가를 추가하는 것입니다 : 당신이 정말로 배열 인덱스의 | 구분 된 문자열을 원하는 경우 0, 당신은 이론적으로이 작업을 수행 할 수

$a['50'] = 'hi'; 
$d = explode("|", $c); 
+1

예, 이것은 연결 연산자를 사용하여 array를 string으로 캐스팅 한 경우에 발생합니다. 그런 식으로 문자열로 변환 되었기 때문에 원본 배열을 복원 할 방법이 없습니다. –

+0

감사합니다. 그렇다면 전체 코드를 다시 코딩해야합니다. –

+0

yah해야합니다. 항목을 배열에 직접 추가 한 다음 폭발시키는 것을 고려하십시오. ive가 내 대답을 편집했습니다. – Kristian