2012-04-28 18 views
0

私はどのように私はこの作業を行うことができます...($$myGenreは各name => idが含まれているとして)動的に私の配列を作成するために管理しますが、何も$myGenre含まれていません:$myGenreはすべての$$myGenreが含まれている必要があり、$$myGenrename => idとしてその内容を持つべきである、と私たちはすべき互いから分離された各$myGenreは(ここでは、理由foreachの、私たちはそれぞれ異なるジャンルの$myGenreをオーバーライドしている)に保つ:あなたの助けのための多次元配列からdouble double varを設定するmy varの値を取得する方法は?

<?php function findSection() { 
    global $post, $custom_meta_fields, $myGenre; 
    foreach ($custom_meta_fields as $fields) { 

     foreach ($fields as $field) { 

      if ($field == $fields['genre']) { 

       $myGenre = array($field['title']); 
       $$myGenre = array(); 

      } else { 
       ${$myGenre}[$field['name']] = $field['id']; 
      } 
     } 
     var_dump($$myGenre); 
    } 
} 


$custom_meta_fields = array(
          array(//THRILLER 
          'genre' => array('title' => 'Thriller'), 
          'fields' => array(
             'name' => 'Movie1', 
             'desc' => 'Desc movie1', 
             'id' => 'id1', 
             'type' => 'text'), 
             array(
              'name' => 'Movie2', 
              'desc' => 'desc movie2', 
              'id' => 'id2', 
              'type' => 'text' 
              ), 
             array(
              'name' => 'movie3', 
              'desc' => 'desc', 
              'id' => 'id3', 
              'type' => 'image' 
              ) 
          ), 
          array(
           'genre' => array('title' => 'Action'), 
           'fields' => array('name' => 'Action1', 
              'desc' => 'desc act1', 
              'id' => 'idAction1') 
          ) 
         ); 

findSection(); 

感謝を

+1

あなたは二重の何ドルPHP手段で任意のアイデアを持っていますか?これ以上のお金はありません。それをまったく犠牲にしないで、連想配列を使用してください。 –

答えて

3

あなたは二重ドルでかなり変わったことをしていたので、私は連想配列を使うようにコードを修正しました。

<?php 
function findSection() { 
    global $post, $custom_meta_fields, $myGenre; 
    foreach ($custom_meta_fields as $fields) { 

     foreach ($fields as $field) { 

      if ($field == $fields['genre']) { 

       $genre =$field['title']; 
       $all[$genre]= array(); 

      } else { 
       $all[$genre][$field['name']] = $field['id']; 
      } 
     } 
    } 
    echo "<pre>".var_export($all,TRUE)."</pre>"; 
} 

結果:

array (
    'Thriller' => 
    array (
    'Movie1' => 'id1', 
    'Movie2' => 'id2', 
    'movie3' => 'id3', 
), 
    'Action' => 
    array (
    'Action1' => 'idAction1', 
), 
) 
+0

素敵なおかげ;-) – Paul