php 如果数组有另一个数组
php if array has another array
看起来很奇怪。有什么方法可以检测到 array
在 php 中包含 sub-array
,例如 css, jquery
中的 parent-child
概念。我只想在 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>
upload.php
$data = explode("," ,$_POST["menu"]);
$subdata = explode("," ,$_POST["submenu"]);
foreach ($data AS $key => $menu){
if(){ // This Menu has subarray
}
您可以使用 is_array
function to see if a variable is an array, if you want to recursively check then you can use array_walk_recursive
with is_array
作为回调。
注意:如果你使用array_walk_recursive
,它会运行回调非数组的项目,所以你可以比较返回的项目from array_walk_recursive
对原始数组找出所有那些是数组的项目。但是,is_array
似乎是更简单的选择。
实例
在您的情况下,您必须使用以下方法轻松完成
<li>
<input type="checkbox" name="menu[0][]" value="vehicle">
<ul>
<li><input type="checkbox" name="submenu[0][]" value="car"></li>
<li><input type="checkbox" name="submenu[0][]" value="bike"></li>
</ul>
</li>
<li><input type="checkbox" name="menu[1][]" value="sport"></li>
<ul>
<li><input type="checkbox" name="submenu[1][]" value="cricket"></li>
<li><input type="checkbox" name="submenu[1][]" value="football"</li>
</ul>
然后从后端,你可以这样做
foreach($_POST['menu'] as $key=>$val) {
if(is_array($val) && count($val)) {
//do action
}
}
看起来很奇怪。有什么方法可以检测到 array
在 php 中包含 sub-array
,例如 css, jquery
中的 parent-child
概念。我只想在 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>
upload.php
$data = explode("," ,$_POST["menu"]);
$subdata = explode("," ,$_POST["submenu"]);
foreach ($data AS $key => $menu){
if(){ // This Menu has subarray
}
您可以使用 is_array
function to see if a variable is an array, if you want to recursively check then you can use array_walk_recursive
with is_array
作为回调。
注意:如果你使用array_walk_recursive
,它会运行回调非数组的项目,所以你可以比较返回的项目from array_walk_recursive
对原始数组找出所有那些是数组的项目。但是,is_array
似乎是更简单的选择。
实例
在您的情况下,您必须使用以下方法轻松完成
<li>
<input type="checkbox" name="menu[0][]" value="vehicle">
<ul>
<li><input type="checkbox" name="submenu[0][]" value="car"></li>
<li><input type="checkbox" name="submenu[0][]" value="bike"></li>
</ul>
</li>
<li><input type="checkbox" name="menu[1][]" value="sport"></li>
<ul>
<li><input type="checkbox" name="submenu[1][]" value="cricket"></li>
<li><input type="checkbox" name="submenu[1][]" value="football"</li>
</ul>
然后从后端,你可以这样做
foreach($_POST['menu'] as $key=>$val) {
if(is_array($val) && count($val)) {
//do action
}
}