ホームページ >バックエンド開発 >PHPチュートリアル >配列は同じ val 値に基づいて複数の配列を形成します
元の配列は
$arr = array( array( 'id' => '1', 'name' => 'a', 'project' => '1', ), array( 'id' => '2', 'name' => 'b', 'project' => '3', ), array( 'id' => '3', 'name' => 'c', 'project' => '2', ), array( 'id' => '4', 'name' => 'd', 'project' => '1', ), );
$arr1 = array( array( 'id' => '1', 'name' => 'a', 'project' => '1', ), array( 'id' => '4', 'name' => 'd', 'project' => '1', ), ); $arr2 = array( array( 'id' => '2', 'name' => 'b', 'project' => '3', ), ); $arr3 = array( array( 'id' => '3', 'name' => 'c', 'project' => '2', ), );
ディスカッションへの返信 (解決策)
$arr = array( array( 'id' => '1', 'name' => 'a', 'project' => '1', ), array( 'id' => '2', 'name' => 'b', 'project' => '3', ), array( 'id' => '3', 'name' => 'c', 'project' => '2', ), array( 'id' => '4', 'name' => 'd', 'project' => '1', ), );foreach($arr as $v) $r['arr' . $v['project']][] = $v;extract($r);print_r($arr1);ありがとう、これは$r[ 'arr' . $v['project']][] = $v; 実際、この文は私が望む結果を達成します。そのメソッドを使用するのは疲れます
Array( [0] => Array ( [id] => 1 [name] => a [project] => 1 ) [1] => Array ( [id] => 4 [name] => d [project] => 1 ))前にextract()を見たところ、$+key名を持つ変数にvalを直接代入しています