以三列显示php数组,第一行为一个元素,第二行和第三行为两个元素 $b=0; foreach($settings['items']作为$item){ $b++; 如果($b==1){ $out.='First'; }否则{ $out2.=‘秒’; } } 回显“.$out.”; 回显“.$out2.”;
哪个输出以三列显示php数组,第一行为一个元素,第二行和第三行为两个元素 $b=0; foreach($settings['items']作为$item){ $b++; 如果($b==1){ $out.='First'; }否则{ $out2.=‘秒’; } } 回显“.$out.”; 回显“.$out2.”;,php,arrays,foreach,Php,Arrays,Foreach,哪个输出 $b = 0; foreach ($settings['items'] as $item){ $b++; if ($b==1){ $out .='First'; } else{ $out2 .='Second'; } } echo '<div class="inner">'.$out.'</div>'; echo '<div class="inner">'.$out2.'<
$b = 0;
foreach ($settings['items'] as $item){
$b++;
if ($b==1){
$out .='First';
} else{
$out2 .='Second';
}
}
echo '<div class="inner">'.$out.'</div>';
echo '<div class="inner">'.$out2.'</div>';
首先
第二
但是我想要这个结构
<div class="inner">First</div>
<div class="inner">Second Second Second Second</div>
首先
第二秒
第二秒
我认为一个可能的解决方案是使用array\u slice
,但对于第一个循环,我只需要一个元素,而不是两个,这就是为什么我认为我不能这样做 试试这个:
<div class="inner">First</div>
<div class="inner">Second Second</div>
<div class="inner">Second Second</div>
$first=true;
$all=[];
$partners=[];
foreach($settings['items']作为$item){
如果($第一){
$first=false;
$first_out='first';//或者其他什么
$all[]=$first\u out;
}否则{
如果(计数($对)=2){
$all[]=$partners;
$partners=[];
}
$partners[]=“秒”;
}
}
foreach(全部为$value){
回显“”。内爆(',',$value)。“”;
}
先进行一点预争论,删除第一项,然后将其合并到剩余的分块数组中
$first = true;
$all = [];
$couples = [];
foreach ($settings['items'] as $item){
if($first){
$first = false;
$first_out = 'First'; //or whatever
$all[] = $first_out;
}else{
if(count($couples) == 2){
$all[] = $couples;
$couples = [];
}
$couples[] = 'Second';
}
}
foreach($all as $value){
echo '<div class="inner">'.implode(',', $value).'</div>';
}
因为在代码中不使用$settings['items'的值,所以可以使用该数组长度
array(3) {
[0]=>
array(1) {
[0]=>
string(3) "foo"
}
[1]=>
array(2) {
[0]=>
string(3) "foo"
[1]=>
string(3) "foo"
}
[2]=>
array(2) {
[0]=>
string(3) "foo"
[1]=>
string(3) "foo"
}
}
<div class="inner">foo</div>
<div class="inner">foo foo</div>
<div class="inner">foo foo</div>
$count=count($settings['items']);
如果($count--)回显'First';
而($count>1){
回声“第二秒”;
$count-=2;
}
如果($count--)回显'Second';
您可以尝试一下
$count = count($settings['items']);
if ($count--) echo `<div class="inner">First</div>`;
while($count > 1) {
echo '<div class="inner">Second Second</div>';
$count -= 2;
}
if ($count--) echo `<div class="inner">Second</div>`;
$b=0;
对于($j=1;$j,其中,$out2
来自何处?请在循环计数器上使用模运算。$b%3==0
表示第一列,$b%3!=0
表示第二列或第三列。(需要在0处开始计数器以获取第一项。)或者将数组拆分为大小为3的块。您还可以获取第一个元素,取消其设置,然后将数组拆分为大小为2的块。easyI将使用$settings['items']
$count = count($settings['items']);
if ($count--) echo `<div class="inner">First</div>`;
while($count > 1) {
echo '<div class="inner">Second Second</div>';
$count -= 2;
}
if ($count--) echo `<div class="inner">Second</div>`;
$b = 0;
for($j = 1; $j <= 2; $j++){
$b++;
for($i = 1; $i <= $b;$i++){
switch($b){
case '1': echo '<div class="inner">FIRST</div>';break;
case '2': echo '<div class="inner">SECOND SECOND</div>';break;
}
}
}