php循环创建数组
Posted tuoyuanjishu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php循环创建数组相关的知识,希望对你有一定的参考价值。
PHP中可以使用for循环、while循环和foreach循环来创建数组。下面是一个使用for循环创建数组的示例代码:
<?php
$myArray = array();
for ($i = 0; $i < 5; $i++)
$myArray[$i] = $i * 2;
print_r($myArray);
?>
该代码将创建一个空数组,然后使用for循环遍历数组并为每个元素赋值。在这个例子中,我们使用$i * 2计算每个元素的值,但您可以根据需要使用任何逻辑来计算数组元素。
解决思路:
要使用循环来创建数组,首先需要创建一个空数组变量。然后,可以使用for循环、while循环或foreach循环来遍历数组。对于for循环,需要指定循环变量的初始值、结束条件和每次迭代后循环变量的增量。在循环内部,可以使用数组下标来访问数组元素,并为每个元素赋值。对于while循环,需要使用一个计数器变量来控制循环的次数。在循环内部,需要更新计数器变量的值并为每个数组元素赋值。对于foreach循环,可以直接遍历数组中的每个元素并为它们赋值。无论使用哪种类型的循环,都需要确保为数组中的每个元素赋值,以便在后续代码中可以使用它们。
作者:拓源技术
如果,您认为阅读这篇博客让您有些收获,不妨点击一下左下角的【好文要顶】与【收藏该文】
如果,您希望更容易地发现我的新博客,不妨点击一下左下角的【关注我】
本博文为学习、笔记之用,以笔记记录作者就职在地推公司的学习和工作记录思考或感悟,主要工作就是维护我司的官网和创新等,希望博客园的朋友一起交流。
使用循环创建数组
【中文标题】使用循环创建数组【英文标题】:Using loops to create arrays 【发布时间】:2010-09-21 22:14:39 【问题描述】:我是 php 的新手,我想知道是否有人可以帮助我使用 for 或 while 循环来创建长度为 10 个元素的数组
【问题讨论】:
啊,美好的过去……如果今天这样问这个问题,用户将被禁止- @user2835653 我希望用户会被问到,“到目前为止你尝试了什么?”而不是立即禁止。至少我会这样处理它。 【参考方案1】:$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 />";
【讨论】:
通过 $array[] = ...;非常慢。值得在方括号之间的“for”中使用 $i。如果您要归因于大型数据集,与 $array[] 相比,$array[$i] 会给您带来很好的性能提升。 也可以使用 array_push() 函数 @I GIVE... 我发现这是不正确的,我运行了基于多达 750,000 次迭代的测试,发现 $array[] 在所有情况下都比 $array[$i] 快(假设差异只有千分之一秒)【参考方案2】:for
循环的另一种方法是......
$array = array();
foreach(range(0, 9) as $i)
$array[] = 'new element';
print_r($array); // to see the contents
我使用这种方法,我发现它更容易浏览一下它的作用。
正如 strager 所指出的,它可能更容易阅读,也可能不容易。他/她还指出创建了一个临时数组,因此比普通的 for 循环稍微贵一些。这个开销很小,所以我不介意这样做。实施什么取决于您。
【讨论】:
如果你有 Python 的背景会很容易阅读,但如果你来自 C 风格的语言背景(在语法方面,例如 C++、Java、C#),这看起来对你来说很奇怪。此外,代码看起来效率低下,创建了一个临时数组。 有两个效率低下,一个是使用 foreach 循环和一个 range 语句,其中一个简单的 for 循环就足够了,另一个是使用 array_push 方法,它比 array[] 语句慢 200% ( ***.com/questions/559844/…)【参考方案3】:对于初学者来说可能更容易理解......
<?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】:我不确定你的目的到底是什么。 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');
【讨论】:
【参考方案5】:最简单的方法是使用array_fill()
:
$array = array_fill(0, 10, 'Hello World');
但是你应该知道 PHP 数组可以随时调整大小,我从来不需要创建特定大小的数组。
【讨论】:
以上是关于php循环创建数组的主要内容,如果未能解决你的问题,请参考以下文章