ホームページ >バックエンド開発 >PHPチュートリアル >PHPで2次元配列を書いて同じ値を見つけて結合する方法を教えてください。
同じ値を見つけて結合するためにPHPで2次元配列を記述する方法を教えてください。
これは配列です。
メイン関数は Thinkphp ビュー モデルのクエリ結果です。
各配列で同じタイトル値をクエリしてから、配列をマージします。 array_merge()
を使用するようです。同じタイトルを見つけるにはどうすればよいですか? foreach traverse には配列のインデックス値を返すことができますか? key() 関数にこの機能があるようです。
マージ時に返せるように、同じタイトルの配列要素の位置を指定します。
array_merge(array[0],array[1])
同じタイトルで、画像の接続フィールドをマージします。Pictureurl はこれとは異なります。簡単に言うと、複数の画像をアップロードして記事を投稿するようなものです。検索すると、配列のサイズが数倍になります。効率的な計算に使用してください。アドバイスをお願いします~
この方法
array(2) {<br /> [0] => array(5) {<br /> ["picTitle"] => string(33) "标题1"<br /> ["picCategroy"] => string(6) "分类"<br /> ["picAuthor"] => string(12) "作者"<br /> ["picPostTime"] => string(19) "2014-11-20 16:05:16"<br /> ["pictureurl"] => string(55) "attachment/picture/uploadify/20141120/546da0784831c.png"<br /> }<br /> [1] => array(5) {<br /> ["picTitle"] => string(33) "标题1"<br /> ["picCategroy"] => string(6) "分类"<br /> ["picAuthor"] => string(12) "作者"<br /> ["picPostTime"] => string(19) "2014-11-20 16:05:16"<br /> ["pictureurl"] => string(55) "attachment/picture/uploadify/20141120/546da0746edb8.png"<br /> }<br />}-----解決策のアイデア------------- --------
$ar = array(<br /> array(<br /> "picTitle" => "标题1",<br /> "picCategroy" => "分类",<br /> "picAuthor" => "作者",<br /> "picPostTime" => "2014-11-20 16:05:16",<br /> "pictureurl" => "attachment/picture/uploadify/20141120/546da0784831c.png",<br /> ),<br /> array(<br /> "picTitle" => "标题1",<br /> "picCategroy" => "分类",<br /> "picAuthor" => "作者",<br /> "picPostTime" => "2014-11-20 16:05:16",<br /> "pictureurl" => "attachment/picture/uploadify/20141120/546da0746edb8.png",<br /> ),<br />);<br />foreach(call_user_func_array('array_merge_recursive', $ar) as $key=>$item) {<br /> $res[$key] = join(',', array_unique($item));<br />}<br />var_export($res);<br />
array (<br /> 'picTitle' => '标题1',<br /> 'picCategroy' => '分类',<br /> 'picAuthor' => '作者',<br /> 'picPostTime' => '2014-11-20 16:05:16',<br /> 'pictureurl' => 'attachment/picture/uploadify/20141120/546da0784831c.png,attachment/picture/uploadify/20141120/546da0746edb8.png',<br />)<br />- -----ソリューションのアイデア------ -------
<br />$arr = array(<br /> array(<br /> "picTitle" => "标题1",<br /> "picCategroy" => "分类",<br /> "picAuthor" => "作者",<br /> "picPostTime" => "2014-11-20 16:05:16",<br /> "pictureurl" => "attachment/picture/uploadify/20141120/546da0784831c.png",<br /> ),<br /> array(<br /> "picTitle" => "标题1",<br /> "picCategroy" => "分类",<br /> "picAuthor" => "作者",<br /> "picPostTime" => "2014-11-20 16:05:16",<br /> "pictureurl" => "attachment/picture/uploadify/20141120/546da0746edb8.png",<br /> )<br />);<br />$item=array();<br />foreach($arr as $key=>$value){<br /> foreach($value as $k=>$v){<br /> if(!isset($item[$k])){<br /> $item[$k]=$v;<br /> }<br /> }<br />}<br />print_r($item);<br />