web-dev-qa-db-ja.com

ループを使用して配列を作成する

私はphpが非常に新しいので、誰かがforまたはwhileループを使用して長さ10要素の配列を作成するのを助けることができるかどうか疑問に思っていました

22
Mike
$array = array();
$array2 = array();

// for example
for ($i = 0; $i < 10; ++$i) {
    $array[] = 'new element';
}

// while example
while (count($array2) < 10 ) {
    $array2[] = 'new element';
}

print "For: ".count($array)."<br />";
print "While: ".count($array2)."<br />";
25
Owen

forループへの別のアプローチは...

$array = array();

foreach(range(0, 9) as $i) {
    $array[] = 'new element';
}

print_r($array); // to see the contents

私はこの方法を使用していますが、一見して内容を確認する方が簡単です。

stragerが指摘したように、読みやすくなる場合とそうでない場合があります。また、一時的な配列が作成されるため、通常のforループよりも少しコストがかかることも指摘しています。このオーバーヘッドは最小限であるため、このようにしてもかまいません。何を実装するかはあなた次第です。

13
alex

初心者にとっては理解しやすいかもしれません...

<?php


// for loop
for ($i = 0; $i < 10; $i++) {

$myArray[$i] = "This is element ".$i." in the array";

echo $myArray[$i];

}


//while loop
$x = 0;

while ($x < 10) {

$someArray[$x] = "This is element ".$x." in the array";

echo $someArray[$x];

$x++;
}

?>
4
John T

あなたの目的がここにあるのか正確にはわかりません。 PHPの配列は動的です。つまり、作成後に要素を追加し続けることができます。つまり、最初に配列の長さを定義する必要はありません。配列に任意のものを10個入れたいと思います。

forループ:

$arr = array();
for ($i = 0; $i < 10; ++$i) {
    $arr[] = "Element $i";
}

whileループ:

$arr = array();
$i = 10;
while (--$i) {
    $arr[] = "Element $i";
}

それを定義することによって:

$arr = array("Element 1", "Element 2", "Element 3" ...);

または、一連の文字または数字だけが必要な場合:

$arr = range(0, 9);
$arr = range('a', 'j');
3
nickf

最も簡単な方法は array_fill() を使用することです:

$array = array_fill(0, 10, 'Hello World');

しかし、PHP=配列はいつでも必要なときにいつでもサイズ変更できます。特定のサイズの配列を作成する必要はありませんでした。

1
too much php