ホームページ  >  記事  >  バックエンド開発  >  php array_merge関数使用時の注意点_PHPチュートリアル

php array_merge関数使用時の注意点_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 09:59:04928ブラウズ

phpのarray_merge関数を使用する際に注意すべき問題

この記事ではphpのarray_merge関数を使用する際に注意すべき問題を中心に紹介しています この記事ではarray_mergeで数字キーがマージされない問題について解説しています。配列を結合するときは名前に注意する必要があります。必要な友達はそれを参照してください。

PHP言語でarray_merge関数を使用する場合、同じキー名が上書きされると思いますが、以下のコードを参照してください。

コードは次のとおりです:

$a1 = 配列(1=>'abc', 3=>10);
$a2 = 配列(1=>'efg', 3=>20);
print_r(array_merge($a1, $a2));

何が出力されますか?私たちが期待していたのは:

コードは次のとおりです:

配列
(
[1] => [3] => 20
)


実際の出力は次のとおりです:

コードは次のとおりです:

配列

(
[0] =>ABC
[1] => 10
[2] => [3] => 20
)



上書きされなかっただけでなく、数字キーのインデックスが継続的に再作成されました。

最初はこれはバグだと思いましたが、PHP マニュアル http://php.net/manual/zh/function.array-merge.php を読みました

「入力配列に同じ文字列キー名がある場合、キー名の後の値は前の値を上書きします。ただし、配列に数値キー名が含まれている場合、後続の値は元の値を上書きしません。戻って

配列のみが指定され、その配列が数値的にインデックス付けされている場合、キー名は連続して再インデックス付けされます。 「


http://www.bkjia.com/PHPjc/976534.html

www.bkjia.com

http://www.bkjia.com/PHPjc/976534.html技術記事 phpのarray_merge関数を使用する際に注意が必要な問題 この記事では、phpのarray_merge関数を使用する際に注意が必要な問題を中心に紹介しています...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。