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


参考
PHP 删除数组中的元素