2016-08-09 5 views
-1

PHP 배열을 단계별로 실행하고 그 안에 각 항목에 대한 변수를 만들고 싶습니다.PHP 배열의 각 항목에서 변수 만들기

Array 
(
    [0] => Array 
     (
      [first_name] => Arthur 
      [last_name] => Dent 
      [planet] => Earth 
     ) 

    [1] => Array 
     (
      [first_name] => Ford 
      [last_name] => Prefect 
      [planet] => Betelgeuse 
     ) 

) 

나는 다음과 같은 가지고있다 : 내 배열 ($ 배열)은 다음과 같습니다

$0_first_name = $array['0']['first_name']; 
$0_last_name = $array['0']['last_name']; 

하지만이 소모 꽤 시간이, 그리고 내가 명시 적으로 각 하나를 선언해야 의미 각 레벨에서 어레이 내에서 여분의 항목을 허용 할 수 없습니다.

이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 이 같은

마이크

+2

설명해 주시겠습니까? –

+2

왜 그것들을 별도의 변수로 사용해야합니까? 배열은 기본적으로 변수 모음입니다. –

+4

왜 사람들은 배열 내용으로 스칼라 변수를 만드는 것이 좋은 생각이라고 생각합니까? ** 배열을 그것의 독성이 아닌 **로 사용하고, 그 바보 같은 이름을 가진 스칼라 변수 – RiggsFolly

답변

0

뭔가 내가 당신이하려는 생각해야 도움을

감사합니다. 분명히

$data=array(
    array('first_name'=>'Arthur','last_name'=>'Dent','planet'=>'Earth'), 
    array('first_name'=>'Ford','last_name'=>'Prefect','planet'=>'Betelgeuse') 
); 

foreach($data as $i => $arr){ 
    foreach($arr as $key => $value){ 
     ${$key.$i}=$value; 
     ${$i.'_'.$key}=$value; 
    } 
} 
echo $first_name0, $first_name1, ${'0_first_name'}; 

나는 이름 뒤에 정수를 가지고 있지만 그것은 그들을 반대하고 $0first_name 또는 $0_first_name 같은 것을 가지고 사소한 -하지만 그것들을 출력 할 때 그들은 다르게 처리해야 - ${'1_first_name'} 등 - 다시, 지적 된 바와 같이 - 유지 보수성을위한 최선의 접근 방식이 아니기 때문에 지금 내가 인생에서 내린 모든 나쁜 결정을 재고하고 다시 생각해 보겠습니다.

+0

Haa'Arthur Dent & Ford Prefect' +1 – RiggsFolly

+0

그래, 특히 배열에 관련된 주제가 마음에 든다. – RamRaider

+1

Opps, 이제 너는 멀리 갔다. 숫자로 시작하는 변수 이름은 시도해보고 어떤 일이 발생하는지 확인하십시오. [이전 주석 참조] (http://stackoverflow.com/questions/38854685/create-variable-from-each-item-in-php-array#comment65073863_38854685) – RiggsFolly

관련 문제