PHP:array数组的增、删、改、查操作
1、查找数组中的键或值
$data = [
'name'=> 'Tom'
];
// 检查键
var_dump(array_key_exists('name', $data)); // bool(true)
var_dump(array_key_exists('Tom', $data)); // bool(false)
var_dump(array_key_exists('uid', $data)); // bool(false)
// 检查值
var_dump(in_array('name', $data)); // bool(false)
var_dump(in_array('Tom', $data)); // bool(true)
var_dump(in_array('uid', $data)); // bool(false)
2、数组删除
2.1、普通数组删除
$data = ['Tom', 'Jack', 'Steve'];
print_r($data);
// [0] => Tom
// [1] => Jack
// [2] => Steve
// 数组的键会自动重新建立索引,对关联性的数组不起作用
array_splice($data, 1, 1);
print_r($data);
// [0] => Tom
// [1] => Steve
2.2、关联数组删除
$data = [
'name' => 'Tom',
'age' => 23,
'school' => 'pku'
];
print_r($data);
// [name] => Tom
// [age] => 23
// [school] => pku
// 两种方式 用键删除或用索引删除
// unset($data['age']);
array_splice($data, 1, 1);
print_r($data);
// [name] => Tom
// [school] => pku
3、返回新数组
3.1、通过值删除
$data = [
'name' => 'Tom',
'age' => 23,
'school' => 'pku'
];
print_r($data);
// [name] => Tom
// [age] => 23
// [school] => pku
// 通过值删除
$newData = array_diff($data, ['Tom', 'pku']);
print_r($data);
// [name] => Tom
// [age] => 23
// [school] => pku
print_r($newData);
// [age] => 23
3.2、通过键删除
$data = [
'name' => 'Tom',
'age' => 23,
'school' => 'pku'
];
print_r($data);
// [name] => Tom
// [age] => 23
// [school] => pku
// 通过键删除
$newData = array_diff_key($data, ['name'=> '', 'school'=> '']);
print_r($data);
// [name] => Tom
// [age] => 23
// [school] => pku
print_r($newData);
// [age] => 23