当前位置:首页 » 编程语言 » php二维数组循环

php二维数组循环

发布时间: 2022-07-18 00:29:47

1. php怎样数据库行循环生成二维数组并替换其中的值再生成新的二维数组

include('includes/init.php');
$sql="SELECT*,DATE_FORMAT(add_time,'%Y-%m-%d')asadd_dateFROM`donku_articles`";
$query=$mysql->query($sql);
$result=[];
while($row=$mysql->fetch_assoc($query)){//这里应该是关联的形式,从你的fetch_row我猜是应该是fetch_assoc
$result[]=$row;
}
//下面是赋值给模板
$smarty->assign('art_recommend_row',$result);

2. php中遍历二维数组的几种方式

?php
//使用for循环遍历
$arr2=array(array("张三","20","男"),array("李四","25","男"),array("王五","19","女"),array("赵六","25","女"));
echo"<tableborder=2bordercolor=red><tr><td>姓名</td><td>年龄</td&gt;<td>性别</td></tr>";
for($i=0;$i<4;$i++){
echo"<tr>";
for($j=0;$j<3;$j++){
echo"<td>";
echo$arr2[$i][$j];
echo"</td>";
}
echo"</tr>";
echo"<br>";
}
echo"</table>";
?>
//使用foreach遍历

<?php
$arr=array('one'=>array('name'=>'张三','age'=>'23','sex'=>'男'),
'two'=>array('name'=>'李四','age'=>'43','sex'=>'女'),
'three'=>array('name'=>'王五','age'=>'32','sex'=>'男'),
'four'=>array('name'=>'赵六','age'=>'12','sex'=>'女'));
foreach($arras$k=>$val){
echo$val['name'].$val['age'].$val['sex']."<br>";
}
echo"<p>";
?>
<?php
$arr=array('one'=>array('name'=>'张三','age'=>'23','sex'=>'男'),
'two'=>array('name'=>'李四','age'=>'43','sex'=>'女'),
'three'=>array('name'=>'王五','age'=>'32','sex'=>'男'),
'four'=>array('name'=>'赵六','age'=>'12','sex'=>'女'));
foreach($arras$key=>$value){
foreach($valueas$key2=>$value2){
echo$value2;
}
echo"<br>";
}
?>

3. php 定义二维数组 并循环箱二维数组赋值 不知道我这样写程序对不对 请高人指点

你例子中的代码我并没有看出有什么需要二维数组的地方,两个一维数组就行了啊。我写给你看一下

$szx=array();
$szy=array();
$sql="selectx,yfromdata";
$res=mysql_query($sql);
while($row=mysql_fetch_array($res)){
$szx[]=$row['x'];
$szy[]=$row['y'];
}
$arrxjs=json_encode($szx);
$arryjs=json_encode($szy);


至于你的代码的问题如下

  1. $sql6="select x,y from data ;"; 里面最好不要有分号, $sql6 = "select x,y from data";就行了

  2. mysql_query($sql6); 你写成了mysql_query($res6)

  3. $szx[i][] 应该修改为 $szx[$i][];

  4. array_push($szx[$i], '值') 和 $szx[$i][] = '值' 是等价的,因此你连用它们会导致$szx变成三维数组,正确为array_push($szx[$i], $row['x'])或者$szx[$i][] = $row['x'];

  5. $arrxjs和$arryjs只要在while循环外执行一次就行了

  6. for循环没什么意义吧,我没看到你使用$j啊。或者你贴的代码不全

4. PHP二维数组遍历问题

$res=array();
$t=array('123332','123333');
foreach($aryas$v){
foreach($tas$m){
$res[$t][]=$v[$m];
}
}
print_r($res);

这样应该可以满足你的要求。

一般来说多维数组遍历的话,多个foreach嵌套使用。

多年以后,重看这个代码,发现一些问题,重复发一下吧!

$ary=[
['123332'=>123332,'123333'=>123333,],
['123332'=>'HockeyStick','123333'=>'HockeyStick2',],
['123332'=>33.25,'123333'=>33.25,],
['123332'=>10,'123333'=>10,],
['123332'=>33.25,'123333'=>33.25,],
['123332'=>1,'123333'=>1,],
['123332'=>'AAAA6','123333'=>'AAAA6',],
];

$res=[];
$t=['123332','123333',];
foreach($aryas$v){
foreach($tas$m){
$res[$m][]=$v[intval($m)];
}
}
print_r($res);

运行结果:

Array
(
[123332]=>Array
(
[0]=>123332
[1]=>HockeyStick
[2]=>33.25
[3]=>10
[4]=>33.25
[5]=>1
[6]=>AAAA6
)
[123333]=>Array
(
[0]=>123333
[1]=>HockeyStick2
[2]=>33.25
[3]=>10
[4]=>33.25
[5]=>1
[6]=>AAAA6
)
)

5. php循环的二维数组如何排序

$num=$arr[$a]-18按$num排序其实就是按$arr[$a]来排,只需在循环前对$arr排序就行了。出来的结果自然是按 $num排序
<?php
$arr=array(30,15,40,38);

rsort($arr);

for($a=0; $a<4; $a++){
$num=$arr[$a]-18;
if($num>0){
$arr_1=array(array("$arr[$a]","$num"));
$num_1 = array();
foreach ($arr_1 as $arr_2) {
$num_1[] = $arr_2[1];
}
array_multisort( $num_1,SORT_DESC , $arr_1);
print_r($arr_1);
}

}
?>

热点内容
什么安卓模拟器可以截图扫码 发布:2025-03-05 06:05:04 浏览:712
源网络硬盘源码 发布:2025-03-05 05:56:16 浏览:979
拉力竞速安卓用什么手柄 发布:2025-03-05 05:37:13 浏览:895
C编译多个 发布:2025-03-05 05:21:16 浏览:508
ftp有cd命令吗 发布:2025-03-05 04:47:20 浏览:576
云服务器比物理机的优势 发布:2025-03-05 04:46:05 浏览:467
俺妈密码是什么 发布:2025-03-05 04:40:46 浏览:160
yacclex编译器 发布:2025-03-05 04:35:37 浏览:151
安卓相片怎么转另一个手机 发布:2025-03-05 04:23:40 浏览:545
解压要素 发布:2025-03-05 04:16:05 浏览:791