PHP数组元素增删改查技巧
数组元素的增删改查是日常开发中最常用的操作。今天说说PHP数组的各种操作技巧。
添加元素。
```php
$arr = [1, 2, 3];
// 末尾添加
$arr[] = 4;
// 开头添加
array_unshift($arr, 0);
print_r($arr);
// 指定位置添加
array_splice($arr, 2, 0, [99]);
print_r($arr);
// 合并添加
$arr = array_merge($arr, [10, 11]);
print_r($arr);
?>
删除元素。
```php
$arr = [1, 2, 3, 4, 5];
// 删除最后一个
$last = array_pop($arr);
echo "删除: $last\n";
// 删除第一个
$first = array_shift($arr);
echo "删除: $first\n";
// 按值删除
$arr = array_filter($arr, fn($v) => $v !== 3);
print_r($arr);
// 按索引删除
unset($arr[2]);
print_r($arr);
// 删除并替换
$removed = array_splice($arr, 1, 2, ['a', 'b']);
print_r($removed);
print_r($arr);
?>
查找元素。
```php
$arr = ['a', 'b', 'c', 'd', 'e'];
$pos = array_search('c', $arr);
echo "c在位置: $pos\n";
echo in_array('d', $arr) ? '存在' : '不存在' . "\n";
$arr2 = ['name' => '张三', 'age' => 28, 'email' => 'test@test.com'];
echo array_key_exists('email', $arr2) ? '键存在' : '键不存在' . "\n";
echo in_array('张三', $arr2) ? '值存在' : '值不存在' . "\n";
echo array_search(28, $arr2) . "\n";
$keys = array_keys($arr2, '张三');
print_r($keys);
?>
更新元素。
```php
$users = [
['id' => 1, 'name' => '张三', 'age' => 28],
['id' => 2, 'name' => '李四', 'age' => 35],
];
foreach ($users as &$user) {
if ($user['id'] === 2) {
$user['age'] = 36;
}
}
unset($user);
print_r($users);
// array_replace更新
$original = ['name' => '张三', 'age' => 28];
$update = ['age' => 29];
$result = array_replace($original, $update);
print_r($result);
?>
批量操作。
```php
$numbers = range(1, 10);
$squares = array_map(fn($n) => $n * $n, $numbers);
print_r($squares);
$evens = array_filter($numbers, fn($n) => $n % 2 === 0);
print_r($evens);
$sum = array_reduce($numbers, fn($c, $v) => $c + $v, 0);
echo $sum . "\n";
?>
数组元素的增删改查是基础中的基础。array_push/array_pop操作末尾,array_unshift/array_shift操作开头,array_splice在中间操作。array_map/filter/reduce进行批量处理。掌握这些函数可以高效地操作数组。
PHP数组元素增删改查技巧
张小明
前端开发工程师
AI辅助文献综述:构建可验证的学术工作流与知识图谱
1. 这不是“让AI代写文献综述”,而是把AI变成你学术工作流里的第三只手 “How To Use AI To Improve the Literature Review Process”——这个标题里藏着一个被严重误解的真相:它根本不是教你怎么用AI一键生成一篇糊弄过关的综述,而是讲清楚…
Diablo Edit2终极指南:5步快速掌握暗黑2角色编辑器完整教程
Diablo Edit2终极指南:5步快速掌握暗黑2角色编辑器完整教程 【免费下载链接】diablo_edit Diablo II Character editor. 项目地址: https://gitcode.com/gh_mirrors/di/diablo_edit 你是否曾因暗黑破坏神2中错误的技能点分配而懊悔?是否花费数小时…
告别PetaLinux编译卡死:手把手教你配置本地sstate-cache与替换故障软件包(以glog/bind为例)
突破PetaLinux编译瓶颈:高效配置sstate-cache与软件包替换实战 当你在深夜盯着屏幕上停滞不前的 petalinux-build 进度条,或是反复遭遇 glog 和 bind 等软件包的编译失败时,那种挫败感每个嵌入式开发者都深有体会。PetaLinux作为Xilinx…
AICoverGen终极指南:5分钟将任何声音变成专业歌曲翻唱
AICoverGen终极指南:5分钟将任何声音变成专业歌曲翻唱 【免费下载链接】AICoverGen A WebUI to create song covers with any RVC v2 trained AI voice from YouTube videos or audio files. 项目地址: https://gitcode.com/gh_mirrors/ai/AICoverGen 你是否…
Blender参数化建模神器W_Mesh_28x:如何用9种几何体提升3D创作效率300%
Blender参数化建模神器W_Mesh_28x:如何用9种几何体提升3D创作效率300% 【免费下载链接】W_Mesh_28x Blender addon for parametric objects 项目地址: https://gitcode.com/gh_mirrors/wm/W_Mesh_28x 还在为Blender建模过程中反复调整顶点而烦恼吗࿱…
从推荐系统到药物发现:图变分自编码器(VGAE)在工业界的三种落地姿势
图变分自编码器的工业实践:从推荐系统到药物发现的跨界应用在算法工程师的日常工作中,我们常常面临一个核心矛盾:如何在保持模型理论严谨性的同时,确保其在实际业务场景中的可落地性?图变分自编码器(VGAE&a…