Heim >Backend-Entwicklung >PHP-Tutorial >数组循环输出问题

数组循环输出问题

WBOY
WBOYOriginal
2016-06-23 13:07:04881Durchsuche

$a = M('a');//从数据库A表中读取数据(数组)$b = M('b');//从数据库A表中读取数据(数组)foreach ($a as $k=>$v){	echo $v;}foreach ($b as $kk=>$vv){	echo $vv;}//注释:代码只是为了更好的说明//读取3条$v后读取1条$vv再循环读取3条$v,1条$vv,一直循环下去,直到$v循环输出完毕,停止输出

$a,$b都是数组,循环是为了在前台显示,每显示3条a表数据,插入一条广告(注:广告在数据库表b中)数据显示不能重复。请问如何实现?


回复讨论(解决方案)

$a = array(1,2,3,4,5,6,7,8,9,10,11,12,13);$b = array('广告1','广告2','广告3');$newa = array_chunk($a,3);foreach($b as $k=>$v){	array_push($newa[$k],$v);}$data = array();foreach($newa as $v){	$data = array_merge($data,$v);}print_r($data);/*Array(    [0] => 1    [1] => 2    [2] => 3    [3] => 广告1    [4] => 4    [5] => 5    [6] => 6    [7] => 广告2    [8] => 7    [9] => 8    [10] => 9    [11] => 广告3    [12] => 10    [13] => 11    [14] => 12    [15] => 13)*/

$a = array(1,2,3,4,5,6,7,8,9,10,11,12,13);$b = array('广告1','广告2','广告3');$newa = array_chunk($a,3);foreach($b as $k=>$v){	array_push($newa[$k],$v);}$data = array();foreach($newa as $v){	$data = array_merge($data,$v);}print_r($data);/*Array(    [0] => 1    [1] => 2    [2] => 3    [3] => 广告1    [4] => 4    [5] => 5    [6] => 6    [7] => 广告2    [8] => 7    [9] => 8    [10] => 9    [11] => 广告3    [12] => 10    [13] => 11    [14] => 12    [15] => 13)*/


很好的思路。非常值得借鉴!

$a = array(1,2,3,4,5,6,7,8,9,10,11,12,13);$b = array('广告1','广告2','广告3');$g = 0;foreach($a as $k=>$v) {  echo $v . '<br>';  if($k && $k % 3 == 0)    echo @$b[$g++] . '<br>';}
1234广告1567广告28910广告3111213

$a = array(1,2,3,4,5,6,7,8,9,10,11,12,13);$b = array('广告1','广告2','广告3');$g = 0;foreach($a as $k=>$v) {  echo $v . '<br>';  if($k && $k % 3 == 0)    echo @$b[$g++] . '<br>';}
1234广告1567广告28910广告3111213


如果$b的key不是数字,这种方法不是不可行了吗?因为$a和$b都是从数据库取出来的,所以他们实际上是关联数组。

$a = array(1,2,3,4,5,6,7,8,9,10,11,12,13);$b = array('广告1','广告2','广告3', '', '');$t = array_map('array_merge', array_chunk($a, 3), array_chunk($b, 1));print_r($t);
Array(    [0] => Array        (            [0] => 1            [1] => 2            [2] => 3            [3] => 广告1        )    [1] => Array        (            [0] => 4            [1] => 5            [2] => 6            [3] => 广告2        )    [2] => Array        (            [0] => 7            [1] => 8            [2] => 9            [3] => 广告3        )    [3] => Array        (            [0] => 10            [1] => 11            [2] => 12            [3] =>         )    [4] => Array        (            [0] => 13            [1] =>         ))

不是下标数组,你可以另设一个计数器
也可以用 array_values 将其编程下标数组

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn