如果子数组为空,则PHP移除数组
我的数组图像就是这样,如果子数组“name”为空或null,我想删除数组,怎么做 这是我当前的脚本如果子数组为空,则PHP移除数组,php,arrays,codeigniter,Php,Arrays,Codeigniter,我的数组图像就是这样,如果子数组“name”为空或null,我想删除数组,怎么做 这是我当前的脚本 $data = array(); $fixedData = array(); $countyName = array(); $numrow = 2; echo "<pre>"; // insert to tb participant => 1 foreach($sheet as $key => $row
$data = array();
$fixedData = array();
$countyName = array();
$numrow = 2;
echo "<pre>";
// insert to tb participant => 1
foreach($sheet as $key => $row){
$data[] = array(
'name' => $this->split_name($row['B']),
'phone' => $row['D'],
'mobile' => $row['E'],
'institution' => $row['F'],
'departement' => $row['G'],
'address' => $row['H'],
'country' => $row['I'],
);
$numrow++;
}
unset($data[0]); //delete first row
$data = array_values($data);
//loop search data
var_dump ($data);
die();
$data=array();
$fixedData=array();
$countyName=array();
$numrow=2;
回声“;
//插入到tb参与者=>1
foreach($key=>$row格式的工作表){
$data[]=数组(
'name'=>this->split_name($row['B']),
'phone'=>$row['D'],
'mobile'=>$row['E'],
“机构”=>$row['F'],
“部门”=>$row['G'],
'地址'=>$row['H'],
“国家”=>$row['I'],
);
$numrow++;
}
未设置($data[0])//删除第一行
$data=数组_值($data);
//循环搜索数据
var_dump($数据);
模具();
假设您有以下数据集
$newData = [];
foreach ($array as $key => $value) {
if (!empty($value['name']) && !is_null($value['name'])) {
$newData[] = $value;
}
}
可以通过以下几种方式过滤空值或空值:
一,-
二,-
3-使用
4-使用
您是否尝试过
empty($data[0]['name'])
这里刚刚删除了名称子数组,而不是父数组您是否已经创建了一个数组?或者你想避免在创建阶段添加空值?不工作,先生,你能在pastebin上检查我的完整脚本吗?在这里,你能详细说明什么不起作用吗?您的$data
数组应该只包含嵌套数组,该嵌套数组在name
字段中有一个值。如果数组名像这样为空,我想删除它们,先生,但它仍然显示打印您的数组,并向我们提供您的数据样本以重现问题。请不要使用图像格式。这里是我的数组,先生,如果数组名为“name”if“”或null,则父数组将被删除。。。怎么做?你试过我发布的解决方案吗?已经发生的事情不起作用,先生:(,它仍然显示645个数组,应该只有381个数组…你能发送一个json编码的数组吗?我根本无法复制转储的数组
if (!empty($this->split_name($row['B'])) && !is_null($this->split_name($row['B'])))
$array = [
[
'name' => 'not null', 'phone' => 12546
],[
'name' => '', 'phone' => 852147
],[
'name' => null, 'phone' => 96325874
],[
'name' => 'have value', 'phone' => 12546
],
];
foreach ($array as $key => &$value) {
if (empty($value['name']) || is_null($value['name'])) {
$value = null;
}
}
$array = array_filter($array);
$newData = [];
foreach ($array as $key => $value) {
if (!empty($value['name']) && !is_null($value['name'])) {
$newData[] = $value;
}
}
$newData = [];
array_walk($array, function ($value, $key) use (&$newData) {
if (!empty($value['name']) && !is_null($value['name'])) {
$newData[] = $value;
}
});
$newData = array_filter($array, function ($value) {
if (!empty($value['name']) && !is_null($value['name'])) {
return $value;
}
});