二维数组的循环在一般的 PHP 应用中应用得不是很多,但在一些应用购物的类似站点中,应用得就有点频繁了,比如购物站中,循环出每个大类 ID 里的商品,哪就需要用二维数组了,而在理解 php 二维数组中的一维数组时,显得有点挺繁琐的,而且不好理解,在PHP的二维数组循环中,可以直接用 section 循环即可,而 name 的值则是二维数组中的一维数组。,在 smarty 模板中读取 php 二维数组相对于直接在 php 中读取二维数组显得更复杂一些,因为在 smarty 模板中要进行参数传递,而且要利用 smarty 模板标签进行读取,下面是一个小实例,在 smarty 中读取 php 二维数组循环。,smarty 的安装就不介绍了,如果不会的可以到网上查询,在安装好 smarty,在其根目录下新建 test.php 文件,首先将 php 二维数组源码贴出来,然后传递给 test.html 文件进行读取。
include_once("inc/smarty.config.php");// 调用 smarty 配置文件
$shangpin1=array("id"=>"1","pid"=>"ID1","name"=>"name1");
$shangpin2=array("id"=>"2","pid"=>"ID1","name"=>"name2");
$shangpin3=array("id"=>"3","pid"=>"ID1","name"=>"name3");
$shangpin4=array("id"=>"4","pid"=>"ID2","name"=>"name4");
$shangpin5=array("id"=>"5","pid"=>"ID2","name"=>"name5");
$shangpin6=array("id"=>"6","pid"=>"ID3","name"=>"name6");
$shangpin7=array("id"=>"7","pid"=>"ID3","name"=>"name7");
$shangpin8=array("id"=>"8","pid"=>"ID3","name"=>"name8");
$shangpin9=array("id"=>"9","pid"=>"ID3","name"=>"name9");
$dalei1[]=$shangpin1;
$dalei1[]=$shangpin2;
$dalei1[]=$shangpin3;
$dalei2[]=$shangpin4;
$dalei2[]=$shangpin5;
$dalei3[]=$shangpin6;
$dalei3[]=$shangpin7;
$dalei3[]=$shangpin8;
$dalei3[]=$shangpin9;
$result_array[]=$dalei1;
$result_array[]=$dalei2;
$result_array[]=$dalei3;
var_dump($result_array);
$smarty->assign("result_array",$result_array);
/**
$result_array=
array(3) {
[0]=> array(3) {
[0]=> array(3) { ["id"]=> string(1) "1" ["pid"]=> string(3) "ID1" ["name"]=> string(5) "name1" }
[1]=> array(3) { ["id"]=> string(1) "2" ["pid"]=> string(3) "ID1" ["name"]=> string(5) "name2" }
[2]=> array(3) { ["id"]=> string(1) "3" ["pid"]=> string(3) "ID1" ["name"]=> string(5) "name3" }
}
[1]=> array(2) {
[0]=> array(3) { ["id"]=> string(1) "4" ["pid"]=> string(3) "ID2" ["name"]=> string(5) "name4" }
[1]=> array(3) { ["id"]=> string(1) "5" ["pid"]=> string(3) "ID2" ["name"]=> string(5) "name5" }
}
[2]=> array(4) {
[0]=> array(3) { ["id"]=> string(1) "6" ["pid"]=> string(3) "ID3" ["name"]=> string(5) "name6" }
[1]=> array(3) { ["id"]=> string(1) "7" ["pid"]=> string(3) "ID3" ["name"]=> string(5) "name7" }
[2]=> array(3) { ["id"]=> string(1) "8" ["pid"]=> string(3) "ID3" ["name"]=> string(5) "name8" }
[3]=> array(3) { ["id"]=> string(1) "9" ["pid"]=> string(3) "ID3" ["name"]=> string(5) "name9" }
}
}
*/
$smarty->display("test.html");// php 模板读取
?>
下面看一下 test.html 是如何读取 php二维数组循环的。
<{section name=pid_sec loop=$result_array}>
<{$result_array[pid_sec][0].pid}>:

<{section name=id_sec loop=$result_array[pid_sec]}>
<{$result_array[pid_sec][id_sec].id}>,
<{$result_array[pid_sec][id_sec].name}>:

<{/section}>
<{/section}>,

二维数组的循环在一般的 PHP 应用中应用得不是很多,但在一些应用购物的类似站点中,应用得就有点频繁了,比如购物站中,循环出每个大类 ID 里的商品,哪就需要用二维数组了,而在理解 php 二维数组中的一维数组时,显得有点挺繁琐的,而且不好理解,在PHP的二维数组循环中,可以直接用 section 循环即可,而 name 的值则是二维数组中的一维数组。

在 smarty 模板中读取 php 二维数组相对于直接在 php 中读取二维数组显得更复杂一些,因为在 smarty 模板中要进行参数传递,而且要利用 smarty 模板标签进行读取,下面是一个小实例,在 smarty 中读取 php 二维数组循环。

smarty 的安装就不介绍了,如果不会的可以到网上查询,在安装好 smarty,在其根目录下新建 test.php 文件,首先将 php 二维数组源码贴出来,然后传递给 test.html 文件进行读取。
include_once("inc/smarty.config.php");// 调用 smarty 配置文件
$shangpin1=array("id"=>"1","pid"=>"ID1","name"=>"name1");
$shangpin2=array("id"=>"2","pid"=>"ID1","name"=>"name2");
$shangpin3=array("id"=>"3","pid"=>"ID1","name"=>"name3");
$shangpin4=array("id"=>"4","pid"=>"ID2","name"=>"name4");
$shangpin5=array("id"=>"5","pid"=>"ID2","name"=>"name5");
$shangpin6=array("id"=>"6","pid"=>"ID3","name"=>"name6");
$shangpin7=array("id"=>"7","pid"=>"ID3","name"=>"name7");
$shangpin8=array("id"=>"8","pid"=>"ID3","name"=>"name8");
$shangpin9=array("id"=>"9","pid"=>"ID3","name"=>"name9");
$dalei1[]=$shangpin1;
$dalei1[]=$shangpin2;
$dalei1[]=$shangpin3;
$dalei2[]=$shangpin4;
$dalei2[]=$shangpin5;
$dalei3[]=$shangpin6;
$dalei3[]=$shangpin7;
$dalei3[]=$shangpin8;
$dalei3[]=$shangpin9;
$result_array[]=$dalei1;
$result_array[]=$dalei2;
$result_array[]=$dalei3;
var_dump($result_array);
$smarty->assign("result_array",$result_array);
/**
$result_array=
array(3) {
[0]=> array(3) {
[0]=> array(3) { ["id"]=> string(1) "1" ["pid"]=> string(3) "ID1" ["name"]=> string(5) "name1" }
[1]=> array(3) { ["id"]=> string(1) "2" ["pid"]=> string(3) "ID1" ["name"]=> string(5) "name2" }
[2]=> array(3) { ["id"]=> string(1) "3" ["pid"]=> string(3) "ID1" ["name"]=> string(5) "name3" }
}
[1]=> array(2) {
[0]=> array(3) { ["id"]=> string(1) "4" ["pid"]=> string(3) "ID2" ["name"]=> string(5) "name4" }
[1]=> array(3) { ["id"]=> string(1) "5" ["pid"]=> string(3) "ID2" ["name"]=> string(5) "name5" }
}
[2]=> array(4) {
[0]=> array(3) { ["id"]=> string(1) "6" ["pid"]=> string(3) "ID3" ["name"]=> string(5) "name6" }
[1]=> array(3) { ["id"]=> string(1) "7" ["pid"]=> string(3) "ID3" ["name"]=> string(5) "name7" }
[2]=> array(3) { ["id"]=> string(1) "8" ["pid"]=> string(3) "ID3" ["name"]=> string(5) "name8" }
[3]=> array(3) { ["id"]=> string(1) "9" ["pid"]=> string(3) "ID3" ["name"]=> string(5) "name9" }
}
}
*/
$smarty->display("test.html");// php 模板读取
?>
下面看一下 test.html 是如何读取 php二维数组循环的。
<{section name=pid_sec loop=$result_array}>
<{$result_array[pid_sec][0].pid}>:

<{section name=id_sec loop=$result_array[pid_sec]}>
<{$result_array[pid_sec][id_sec].id}>,
<{$result_array[pid_sec][id_sec].name}>:

<{/section}>
<{/section}>

,

二维数组的循环在一般的 PHP 应用中应用得不是很多,但在一些应用购物的类似站点中,应用得就有点频繁了,比如购物站中,循环出每个大类 ID 里的商品,哪就需要用二维数组了,而在理解 php 二维数组中的一维数组时,显得有点挺繁琐的,而且不好理解,在PHP的二维数组循环中,可以直接用 section 循环即可,而 name 的值则是二维数组中的一维数组。

在 smarty 模板中读取 php 二维数组相对于直接在 php 中读取二维数组显得更复杂一些,因为在 smarty 模板中要进行参数传递,而且要利用 smarty 模板标签进行读取,下面是一个小实例,在 smarty 中读取 php 二维数组循环。

smarty 的安装就不介绍了,如果不会的可以到网上查询,在安装好 smarty,在其根目录下新建 test.php 文件,首先将 php 二维数组源码贴出来,然后传递给 test.html 文件进行读取。
include_once("inc/smarty.config.php");// 调用 smarty 配置文件
$shangpin1=array("id"=>"1","pid"=>"ID1","name"=>"name1");
$shangpin2=array("id"=>"2","pid"=>"ID1","name"=>"name2");
$shangpin3=array("id"=>"3","pid"=>"ID1","name"=>"name3");
$shangpin4=array("id"=>"4","pid"=>"ID2","name"=>"name4");
$shangpin5=array("id"=>"5","pid"=>"ID2","name"=>"name5");
$shangpin6=array("id"=>"6","pid"=>"ID3","name"=>"name6");
$shangpin7=array("id"=>"7","pid"=>"ID3","name"=>"name7");
$shangpin8=array("id"=>"8","pid"=>"ID3","name"=>"name8");
$shangpin9=array("id"=>"9","pid"=>"ID3","name"=>"name9");
$dalei1[]=$shangpin1;
$dalei1[]=$shangpin2;
$dalei1[]=$shangpin3;
$dalei2[]=$shangpin4;
$dalei2[]=$shangpin5;
$dalei3[]=$shangpin6;
$dalei3[]=$shangpin7;
$dalei3[]=$shangpin8;
$dalei3[]=$shangpin9;
$result_array[]=$dalei1;
$result_array[]=$dalei2;
$result_array[]=$dalei3;
var_dump($result_array);
$smarty->assign("result_array",$result_array);
/**
$result_array=
array(3) {
[0]=> array(3) {
[0]=> array(3) { ["id"]=> string(1) "1" ["pid"]=> string(3) "ID1" ["name"]=> string(5) "name1" }
[1]=> array(3) { ["id"]=> string(1) "2" ["pid"]=> string(3) "ID1" ["name"]=> string(5) "name2" }
[2]=> array(3) { ["id"]=> string(1) "3" ["pid"]=> string(3) "ID1" ["name"]=> string(5) "name3" }
}
[1]=> array(2) {
[0]=> array(3) { ["id"]=> string(1) "4" ["pid"]=> string(3) "ID2" ["name"]=> string(5) "name4" }
[1]=> array(3) { ["id"]=> string(1) "5" ["pid"]=> string(3) "ID2" ["name"]=> string(5) "name5" }
}
[2]=> array(4) {
[0]=> array(3) { ["id"]=> string(1) "6" ["pid"]=> string(3) "ID3" ["name"]=> string(5) "name6" }
[1]=> array(3) { ["id"]=> string(1) "7" ["pid"]=> string(3) "ID3" ["name"]=> string(5) "name7" }
[2]=> array(3) { ["id"]=> string(1) "8" ["pid"]=> string(3) "ID3" ["name"]=> string(5) "name8" }
[3]=> array(3) { ["id"]=> string(1) "9" ["pid"]=> string(3) "ID3" ["name"]=> string(5) "name9" }
}
}
*/
$smarty->display("test.html");// php 模板读取
?>
下面看一下 test.html 是如何读取 php二维数组循环的。
<{section name=pid_sec loop=$result_array}>
<{$result_array[pid_sec][0].pid}>:

<{section name=id_sec loop=$result_array[pid_sec]}>
<{$result_array[pid_sec][id_sec].id}>,
<{$result_array[pid_sec][id_sec].name}>:

<{/section}>
<{/section}>

最后修改:2025 年 09 月 10 日
如果觉得我的文章对你有用,请随意夸赞