我有一个由50个元素组成的数组。这个数组的大小可以是任何大小。我想把数组的前10个元素放在一个字符串中。
我的程序是:
$array1= array("itself", "aith","Inside","Engineer","cooool","that","it","because");
$i=0;
for($f=0; $f < sizeof(array1); $f++)
{
$temparry = $temparry.array1[$f];
if(($f%10) == 0 && ($f !== 0))
{
$temparray[$i] = $temparray;
$i++;
}
}
==以便在最后:
我得到
temparray1=前10个元素
临时2-接下来的10个元素。。。
我不是我循环中缺少的那个人。
阅读您的评论后,我认为您想要array_chunk
[docs]:
$chunks = array_chunk($array1, 10);
这将创建一个多维数组,每个元素都是包含10个元素的数组。
如果您仍然想将它们连接到一个字符串,您可以使用array_map
[docs]和implode
[ddocs]:
$strings = array_map('implode', $chunks);
这为您提供了一个字符串数组,其中每个元素都是一个块的串联。
这是使用array_splice
和implode
可以轻松完成的操作。
示例:
<?php
$array = range(1, 50);
while ( $extracted = array_splice($array, 0, 10) )
{
// You could also assign this to a variable instead of outputting it.
echo implode(' ', $extracted);
}
您在这里所做的只是创建一个临时值,然后将其删除
$myArray = array("itself", "aith","Inside","Engineer",
"cooool","that","it","because");
$myString = '';
for($i = 0; $i < 10; $i++) {
$myString .= $myArray[$i];
}
您也可以在另一个for循环中运行该循环,该循环将贯穿整个数组,给您10个元素增量。
实际上,您可以使用arrray_slice和内爆函数,如下所示:
// put first 10 elements into array output
$output = array_slice($myArray, 10);
// implode the 10 elements into a string
$str = implode("", $output);
OP的固定代码如下所示:
$array1= array("itself","aith","Inside","Engineer","cooool","that","it","because");
$temparry='';
$temparray = array();
for($f=0; $f < count($array1); $f++)
{
$temparry = $temparry.$array1[$f];
if(($f%3) == 0 && ($f !== 0))
{
$temparray[] = $temparry;
$temparry = '';
}
}
print_r($temparray);