2017-03-07 21 views

答えて

1

です

Array ([0] => Bob [1] => John [2] => Ben [3] => Mike [Bob] => 3 [John] => 4 [Ben] => 3 [Mike] => 4) 

なぜそれが8としてカウントを表示しているのですか

3

ループ内の配列のサイズを変更するには、新しい値を挿入します。

$nameArray[$name] = strlen($nameArray[$i]); 

、それは次のとおりです。あなたはそれが数字のインデックスをしているその時は

その後
Array ([0] => Bob [1] => John [2] => Ben [3] => Mike) 

として次の文を使用して、新しいインデックスに新しい値をプッシュしている配列を宣言したら、それはなぜ

0

代わりに、同じアレイ

$nameArray = array("Bob", "John", "Ben", "Mike"); 
$nameLength = array(); 
for ($i = 0; $i < count($nameArray); $i++){ 
    $name = $nameArray[$i]; 
    $nameLength[$name] = strlen($nameArray[$i]); 
    echo $nameArray[$i]."'s name is ".$nameLength[$name]." letters long <br>"; 
} 
0

$nameArray[$name] = strlen($nameArray[$i]);

を使用して新しい配列を作成します、配列の長さが倍増した理由です。要素の長さを新しい要素として配列に追加します。だから、それは倍の長さです。

をして、あなたがそれを格納するための新しい配列の長さだしたいかもしれませ

$nameLen[$name] = strlen($nameArray[$i]);

関連する問題