私と if else() ステートメントで実行前に 2 つ以上の条件を検索しようとしていますが、うまくいきません。たとえば、私の最終的な目標は、array[Pack] と if [Type] == s45 && [ を検索することです。 packageA1] が存在する場合、array_slice を使用して追加情報を [Type array] に追加します。
if() 条件は正常に機能しますが、else if() は機能しません。
$ノード:
Array
(
[Pack] => Array
(
[Type] => s45
[packageA1] => Array
(
[level] => REMOVE FROM DB
[stage] => REMOVE FROM DB
[description] => s45 info here
[image] =>
)
)
[Pack2] => Array
(
[Type] => s99
[packageA1] => Array
(
[level] => REMOVE FROM DB
[stage] => REMOVE FROM DB
[description] => s99 info goes here
[image] =>
)
)
)
//more code...
$i = 1;
if(!array_key_exists($item[0], $node)){
$node[$row[0]] = array("Type" => $item[0], "package".$item[1] => array("level" => "REMOVE FROM DB", "stage" => "REMOVE FROM DB", "description" => $item[3], "image" => $item[4]));
}else if(array_key_exists($item[0], $node) && array_key_exists("package".$item[1], $node)){
$i++;
$res = array_slice($node[$rowKey], 0, $i, true) + array("my_key" => "my_value") + array_slice($node[$rowKey], $i, count($node[$rowKey]) - 1, true);
}
期待される出力:
Array
(
[Pack] => Array
(
[Type] => s45
[packageA1] => Array
(
[level] => REMOVE FROM DB
[stage] => REMOVE FROM DB
[description] => s45 info here
[image] =>
)
[packageA2] => Array
(
[level] => REMOVE FROM DB
[stage] => REMOVE FROM DB
[description] => blahhhhhh blah blahh
[image] =>
)
[packageE1] => Array
(
[level] => REMOVE FROM DB
[stage] => REMOVE FROM DB
[description] => moar random stuff inserted
[image] =>
)
)
[Pack2] => Array
(
[Type] => s99
[packageA1] => Array
(
[level] => REMOVE FROM DB
[stage] => REMOVE FROM DB
[description] => s99 info goes here
[image] =>
)
)
)