array_merge — 1 つ以上の配列を結合します
array_merge() 1 つ以上の配列のセルを結合し、1 つの配列の値を前の配列に追加します。結果の配列を返します。
入力配列に同じ文字列キー名がある場合、キー名の後の値で前の値が上書きされます。ただし、配列に数値キー名が含まれている場合、後続の値は元の値を上書きせず、元の値に追加されます。 配列が 1 つだけ指定され、その配列が数値的に
インデックス付けされている場合、キー名は継続的に再インデックス付けされます。
<span>array_merge will return NULL if any of the arguments are NULL。</span>
例:
$array1 = NULL; $array2 = array(1 => "data");
$result = array_merge($array1, $array2); ); 結果は NULL であるため、結果セットを取得する SQL ステートメントを作成するときは、 if(empty($resut)){$result=array();} に空の配列を割り当ててから、それを他の配列とマージすることに注意してください。
例:
<span>//</span><span>新的逻辑</span><span>$agent_id</span>=<span>$location_model</span>->where("id='<span>$location_id</span>'")->getField('agent_id'<span>); </span><span>//</span><span>再查询已授权的运营商(要排除授权商家)</span><span>if</span>(!<span>empty</span>(<span>$agent_id</span><span>)){ </span><span>$tpl_list2</span>=<span>$tpl_model</span>->where("status=1 and agent_range=2 and agent_id in (<span>$agent_id</span>) and supplier_id=''")->field(<span>$field</span>)->order('id desc')-><span>select(); } </span><span>if</span>(<span>empty</span>(<span>$tpl_list2</span><span>)){ </span><span>$tpl_list2</span>=<span>array</span><span>(); } </span><span>//</span><span>再查询授权全部运营商</span><span>$tpl_list3</span>=<span>$tpl_model</span>->where("status=1 and agent_range=1")->field(<span>$field</span>)->order('id desc')-><span>select(); </span><span>if</span>(<span>empty</span>(<span>$tpl_list3</span><span>)){ </span><span>$tpl_list3</span>=<span>array</span><span>(); } <span>//<span>array_merge will return NULL if any of the arguments are NULL</span></span></span><span>$tpl_list_merge</span>=<span>array_merge</span>(<span>$tpl_list1</span>,<span>$tpl_list2</span>,<span>$tpl_list3</span>);
以上、array_merge関数のインデックス作成を含めた注意事項を紹介しましたので、PHPチュートリアルに興味のある方の参考になれば幸いです。