用给定的索引替换php数组中的值

Posted

技术标签:

【中文标题】用给定的索引替换php数组中的值【英文标题】:replace value in php array with given index 【发布时间】:2012-09-06 07:32:09 【问题描述】:

我在用精确给定的索引替换数组中的值时遇到问题。确切地说,我想用一个新数字替换 array[2] 中的一个字符串,但我不知道。所以请看看我的资源:

pos:0 //position of index in array 
id:498 //id of a field
new:6300 //new value to replace in an array
cost:6200-5200-4600-5600-4100 //the array

从上面,我想用“new”中的新字符串替换“cost”中的字符串索引“0”,所以预期的结果应该是:

6300-5200-4600-5600-4100

我试图在任何地方搜索,但除了 array_search 之外没有任何返回 - 这不是我想要的。请指教。

【问题讨论】:

你的数组看起来怎么样?你在这里所拥有的并不像 php 代码,但如果你有一个数组,你可以通过使用 $array[$index] = $newvalue; 访问/替换一个值。 【参考方案1】:
$pos = 0;                            // position
$new = 6300;                         // new value
$cost = '6200-5200-4600-5600-4100';  // string
$cost = explode('-', $cost);         // make it array
$cost[$pos] = $new;                  // change the position $pos with $new
$cost = implode('-', $cost);         // return new $cost
// 6300-5200-4600-5600-4100

【讨论】:

@Mihai lorga 我试过你的代码,这似乎是最清晰的。但结果有点奇怪——价值加起来了。它变成了六个数组而不是五个。这是代码:code room_rate_updatez.php?rate|502|6200-5200-4600-5600-4100|3=5500 foreach($_GET as $key=>$_val) list($_name,$_id,$_cost,$_pos)=explode("|",$key); $cost = explode('-', $_val); // make it array $cost[$_pos] = $_cost; // change the position $pos with $new $cost = implode('-', $cost); // return new $cost echo "new cost : ".$cost; //new cost : 5500-6200-5200-4600-5600-4100 不过应该​​是$cost = explode('-', $_cost); @Mihai 我明白了。我的错。我混淆了我自己的 var - 在 $cost 和 $new 之间交换,所以数组不知道在哪里替换。问候, 简单。干得好,伙计。【参考方案2】:

就这么简单:

<?php

$array = array(
    6200, 
    5200, 
    4600, 
    5600, 
    4100
);

$pos = 0;
$new = 6300;

$array[$pos] = $new;

?>

【讨论】:

这是您的第一篇文章。所以它属于beta review - first posts。要查看它,我们必须编辑、投票、标记帖子。我在你的帖子中没有发现任何错误。因此,只需对其进行编辑并检查即可。 :) 您可以使用rollback function 撤消编辑,而不是像旧一样再次更新它。 感谢您的信息,我是新来的,不知道“回滚功能”... :) 您需要访问Meta Stack Overflow以了解更多关于Stack Overflow的信息。【参考方案3】:

试试这个:

$the_array[$pos] = $new

【讨论】:

添加语法颜色 - 但没有出现颜色... :)

以上是关于用给定的索引替换php数组中的值的主要内容,如果未能解决你的问题,请参考以下文章

php 中 判断数组中是不是有值

php foreach 替换数组中的值

PHP - 用另一个数组替换数组的值

PHP 想从1组二维数组里取1个下标的值去其他数组查询另1个下标的值,然后用查询出来值替换原来二维数组里的

用列表的值替换 numpy 索引数组的值

PHP数组中,如何查询所有等于指定值得元素下标?