PHP中如何附加数组?含给指定键添加数组的场景示例
给PHP多维数组中特定键添加元素的解决方案
没问题,我来帮你搞定这个需求!针对你给出的数组结构,我们有两种实用方法来给特定键C:/xampp/htdocs/rosoka/file添加目标数组元素。
先把你的原数组转成更易读的PHP语法格式:
$originalArray = [ ['C:/xampp/htdocs/rosoka/file' => []], ['C:/xampp/htdocs/rosoka/file/2018-03-02' => []], ['C:/xampp/htdocs/rosoka/file/2018-03-03' => []] ];
方法一:直接定位修改(已知目标键的索引位置)
如果已经明确目标键在外层数组的索引是0,直接通过索引访问赋值是最高效的方式:
// 给目标键对应的空数组赋值新元素 $originalArray[0]['C:/xampp/htdocs/rosoka/file'] = ['duck', 'buffalo'];
执行后你的数组会变成:
Array ( [0] => Array ( [C:/xampp/htdocs/rosoka/file] => Array ( [0] => duck [1] => buffalo ) ) [1] => Array ( [C:/xampp/htdocs/rosoka/file/2018-03-02] => Array() ) [2] => Array ( [C:/xampp/htdocs/rosoka/file/2018-03-03] => Array() ) )
方法二:遍历查找修改(不确定目标键的索引位置)
如果数组结构可能动态变化,或者不知道目标键的具体索引,可以通过遍历数组定位后修改:
$targetKey = 'C:/xampp/htdocs/rosoka/file'; // 使用引用&直接修改原数组中的元素 foreach ($originalArray as &$item) { // 检查当前元素是否包含目标键 if (array_key_exists($targetKey, $item)) { $item[$targetKey] = ['duck', 'buffalo']; // 若只需修改第一个匹配的目标键,可添加break终止循环 break; } } // 记得取消引用,避免后续操作意外修改数组 unset($item);
这种方法更灵活,不管目标键在外层数组的哪个位置,都能准确找到并修改。
内容的提问来源于stack exchange,提问作者fakhryan albar
相关产品推荐
相关产品推荐

