0
<?php
$arr = array("value1", "value2", "value3");
$array_with_keys = array_keys($arr);
echo "<pre>";
print_r($array_with_keys);
echo "</pre>";
?>

array_keys()これは、パラメータに非連想配列がある例です。なので鍵はありません。

出力は次のとおりです。

Array
(
    [0] => 0
    [1] => 1
    [2] => 2
)

なぜこれが出力されるのですか?マニュアルを検索したところ、パラメータに通常の配列を含む array_keys() の例が見つかりません。

では、出力がこれである理由を説明できる人はいますか?

常識的には、通常の配列ではキーがそのインデックス、つまり0, 1,であるため2です。

4

2 に答える 2

1

あなたの常識は正しいです。キーなしで配列を作成すると、数値でインデックスが付けられます。このarray_keysような配列でを実行すると、数値キーが抽出されます。

于 2012-10-14T14:45:37.330 に答える
1

PHP では、すべての配列は実際には連想配列です。それらを宣言しない場合でも:

$arr = array("value1", "value2", "value3");

これは

$arr = array(0 => "value1", 1 => "value2", 2 => "value3");

そのため、PHP は自動的にキーを追加します。

于 2012-10-14T14:45:10.153 に答える