php - php 如果数组有另一个数组
问题描述
似乎很奇怪的事情。有什么方法可以检测php 中包含的内容array
,例如. 我只想插入数据sub-array
parent-child
css, jquery
array
subarray
动态菜单
<?php
if(){ //loop starts
?>
<li>
<input type="checkbox" name="menu[]" value="<?php echo $row['value']?>"> <?php echo $row['title'];
<ul>
<?php
if(){ //loop starts
?>
<li>
<input type="checkbox" name="submenu[]" value="<?php echo $row1['value']?>"><?php echo $row1['subtitle'];
</li>;
}?>
</ul>
</li>
}?>
输出
<li>
<input type="checkbox" name="menu[]" value="vehicle">
<ul>
<li><input type="checkbox" name="submenu[]" value="car"></li>
<li><input type="checkbox" name="submenu[]" value="bike"></li>
</ul>
</li>
<li><input type="checkbox" name="menu[]" value="sport"></li>
上传.php
$data = explode("," ,$_POST["menu"]);
$subdata = explode("," ,$_POST["submenu"]);
foreach ($data AS $key => $menu){
if(){ // This Menu has subarray
}
解决方案
您可以使用该is_array
函数查看变量是否为数组,如果要递归检查,则可以使用array_walk_recursive
withis_array
作为回调。
注意:如果使用array_walk_recursive
,它将对非数组项运行回调,因此您可以将返回的内容array_walk_recursive
与原始数组进行比较,以找出所有数组项。但是,is_array
似乎是更简单的选择。
现场示例
推荐阅读
- javascript - 如何检查jsp中单击了哪个按钮?
- c# - C# 错误 - Guid 应包含 32 位数字和 4 个破折号 (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
- python - 从文本文件中删除行号并将值提取到列表
- javascript - 获取数据后从变量中删除“<br><br>”
- node.js - Azure AD B2C 注册
- javascript - 限制 Ngrx 实体的大小
- flutter - 如何在 Dart Linter / Pull 请求中禁止 bang 运算符
- docker - 如何在 docker-stack 文件中使用 wait-for-it?
- angular - 模板驱动嵌套形式的tinymce编辑器的动态多个实例
- python - Django:覆盖继承的字段选项