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
-