- ベストアンサー
配列の変更
usb_memoryの回答
こんな感じですかね。。 $ary = array(0=>2 , "id" =>2 , 1=>"名前" , "name"=>"名前" , 2=>"タイトル" , "title"=>"タイトル"); foreach ($ary as $key => $value) { if (!is_numeric($key)) { $ary2[$key] = $value; } } var_dump($ary2); 連想配列で合ってますよ。
関連するQ&A
- 配列操作について
お世話になります。 $obj = array(1 array(id=>111 name=>aaa date=yyyymmdd array(2 array(id=>222 name=>bbb date=yyyymmdd 上記のようなオブジェクト($obj)があるとして この最下層の連想配列データ(id,name,date)を 配列にしたい時は、以下のような書き方で取れると 思いますが、もっとすっきりさせる書き方などありますか? $a = array(); $c = count($obj); for($i=0; $i<$c; $i++){ $a = $obj[$i]['id']; $a = $obj[$i]['name']; $a = $obj[$i]['date']; $i++}
- ベストアンサー
- PHP
- 多次元配列の入れ替え
いつもお世話になります。 PHPで多次元配列の入れ替えについて悩んでおります。 以下のようなデフォルトの配列から、整形後の配列 へ変換したいのですが、どのように扱ってよいか 頭が回らず困っています。 2次元目のクラスが等しいもののidをキーとして、 名前を値としたいのですが。。。 どうぞ宜しくお願いします(>へ<) //デフォルトの配列 Array ( [0] => Array ( [id] => 1 [class] => A [name] => 佐藤 ) [1] => Array ( [id] => 2 [class] => A [name] => 山下 ) [2] => Array ( [id] => 3 [class] => B [name] => 田中 ) [3] => Array ( [id] => 4 [class] => B [name] => 高橋 ) ) //整形後の配列 Array ( [A] => Array ( [1] => 佐藤 [2] => 山下 ) [B] => Array ( [3] => 田中 [4] => 高橋 ) )
- ベストアンサー
- PHP
- 多次元配列を2次元の連想配列で表したい
PHP初心者です。 $category = array( array( 'ライフ' ), array( 'デジタルライフ', array( '携帯・PHS' ), array( 'ワンセグ放送' ) ), array( '趣味', array( 'AV機器', array( 'オーディオ' ), ), ), ); このような多次元配列を $new_category = array( array( 'id'=> '1', 'parent_id' => '-', 'name' => 'ライフ', ), array( 'id'=> '2', 'parent_id' =>'-', 'name' => 'デジタルライフ', ), array( 'id'=> '3', 'parent_id' => '2', 'name' => '携帯・PHS', ), array( 'id'=> 4, 'parent_id' => '2', 'name' => 'ワンセグ放送', ), array( 'id'=> 5, 'parent_id' => '-', 'name' => '趣味', ), array( 'id'=> '6', 'parent_id' => '5', 'name' => 'AV機器', ), ); このような二次元配列に変換したいです。 parent_idを入れておく配列を作って、階層が深くなったら前の要素のIDを配列に入れ、浅くなったら配列の末尾の要素を消去する…みたいなことを考えてあれこれやってみたのですが、なかなかうまくいきません。 何か良い方法がありましたら、教えていただけるとありたがいです。 よろしくお願い致します。
- ベストアンサー
- PHP
- 多次元配列を連想配列へ変換したい
以下のような多次元配列を、 Array ( [0] => Array ( [0] => Array ( [id] => 3 [hoge_id] => 15 ) ) [1] => Array ( [0] => Array ( [id] => 9 [hoge_id] => 15 ) ) [2] => Array ( [0] => Array ( [id] => 18 [hoge_id] => 15 ) ) [3] => Array ( [0] => Array ( [id] => 22 [hoge_id] => 15 ) [1] => Array ( [id] => 22 [hoge_id] => 15 ) [2] => Array ( [id] => 22 [hoge_id] => 15 ) ) ) 下記のような連想配列へ変換したいです Array ( [0] => Array ( [id] => 3 [hoge_id] => 15 ) [1] => Array ( [id] => 9 [hoge_id] => 15 ) [2] => Array ( [id] => 18 [hoge_id] => 15 ) [3] => Array ( [id] => 22 [hoge_id] => 15 ) [4] => Array ( [id] => 22 [hoge_id] => 15 ) [5] => Array ( [id] => 22 [hoge_id] => 15 ) )
- ベストアンサー
- PHP
- 多次元配列で特定キーが重複している箇所をランダムで
PHP多次元配列で特定キーが重複している箇所をランダムで1つだけ表示したい ・id基準 ■元配列 Array ( [0] => Array ( [id] => 5 [name] => "佐藤" [age] => 5 ) [1] => Array ( [id] => 5 [name] => "伊藤" [age] => 7 ) [2] => Array ( [id] => 5 [name] => "鈴木" [age] => 12 ) [3] => Array ( [id] => 8 [name] => "山田" [age] => 17 ) [4] => Array ( [id] => 8 [name] => "奈良" [age] => 2 ) ■取得したいランダム結果配列例1 Array ( [0] => Array ( [id] => 5 [name] => "佐藤" [age] => 5 ) [3] => Array ( [id] => 8 [name] => "山田" [age] => 17 ) ■取得したいランダム結果配列例2 Array ( [1] => Array ( [id] => 5 [name] => "伊藤" [age] => 7 ) [4] => Array ( [id] => 8 [name] => "奈良" [age] => 2 ) ※1次元目のキーは元キーを維持していなくても構いません
- ベストアンサー
- PHP
- 配列や連想配列について
言語一般の配列や連想配列について 最近どういう解釈をしていいのか わからなくなってしまいました。 仮にPerlで話をさせてもらいますと、 連想配列%FORMがあるとき、 個々の要素にアクセスする場合 例えば$FORM{'name'}などと記述しますが、 この$FORM{'name'}を みなさんはどのように解釈しているでしょうか? $FORM{' '}にキー nameを 代入しているようなイメージで、 「連想配列%FORMからキー'name'の値を取得する」 という考え方でしょうか? わたしは最近、 $FORM{'name'}はそれ自体が一つの変数という 考え方が出来るのではないかという気がしているのですが、 連想配列の実装から考えると この考え方は正しいのでしょうか? 以前、配列について同様の質問を したことがあります。 例えばC言語でint a[100]と宣言した場合は、 連続的なアドレスに確保されるため、 a[2]はaという名前のアドレスから a + 2 番目の場所という意味になるが、 言語によっては不連続なアドレスに 確保されるため、a[2]は一つの変数名として 考える必要がある・・ との回答でした。 ならば連想配列の場合も もし不連続なアドレスに確保されるならば、 $FORM{'name'} は一つの変数名と 考えたほうが正しいのではないかと 思ったからです。 連想配列の内部的な処理がどうなっているのか 教えて頂きたいです。 よろしくお願いします。
- ベストアンサー
- Perl
- 連想配列を配列に入れるには
下記のような連想配列を配列に入れる簡単な方法はありますか。 array("a"=>"1","b"=>"2") 期待する結果(print_r) Array ( [0] => Array ( "a" => "1" ) [1] => Array ( "b" => "2" ) ) 宜しくお願い致します。
- ベストアンサー
- PHP
- 連想配列の一部分を全て表示したいのですが・・。
すみません。phpの事はあまりわからないのですが、以下のような連想配列がありまして、 (下記のような連想配列が大量にあります。) Array ( [0] => Array ( [a] => 1111 [0] => 1111 [b] => 2222 [1] => 2222 [c] => 3333 [2] => 3333 ) [1] => Array ( [a] => 5555 [0] => 5555 [b] => 6666 [1] => 6666 [c] => 7777 [2] => 7777 ) ) 上の配列から下記の配列のみ全て表示したいのですがどう記述したらよいでしょうか。 Array[0][a] Array[0][b] Array[0][c] Array[1][a] Array[1][b] Array[1][c]
- ベストアンサー
- PHP
- 【PHP】配列を連想配列に
$m = array('a', 'b', 'c'); この配列 $m をもとに $n = array( 'a' => array( 'b' => array( 'c' => array()))); 上のような連想配列 $n をつくりたいのですが、 $n = array( $m[0] => array( $m[1] => array( $m[2] => array()))); 要素の数が固定のときは、これでもいいのですが、数が変動する場合に対応できません。 何か方法があれば教えてください。
- ベストアンサー
- PHP
お礼
回答ありがとうございました。 大変参考になりましたー