Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 数组有问题吗_Php_Arrays_Replace - Fatal编程技术网

Php 数组有问题吗

Php 数组有问题吗,php,arrays,replace,Php,Arrays,Replace,我用这段代码得到第一个数字,并用0-9替换它,但我总是得到0-0-9的结果。然后我在数组9中删除了它,它开始正常工作。为什么会这样 $direction = strtoupper(substr($query_row["Band"],0,1)); $replace = [ '0' => '0-9','1' => '0-9','2' => '0-9','3' => '0-9','4' => '0-9', '5' => '0-9','6' => '0-9',

我用这段代码得到第一个数字,并用0-9替换它,但我总是得到0-0-9的结果。然后我在数组9中删除了它,它开始正常工作。为什么会这样

$direction = strtoupper(substr($query_row["Band"],0,1));

$replace = [
'0' => '0-9','1' => '0-9','2' => '0-9','3' => '0-9','4' => '0-9',
'5' => '0-9','6' => '0-9','7' => '0-9','8' => '0-9', '9' => '0-9' ];

$dir= str_replace(array_keys($replace), $replace, $direction); 
试试这个

$search = array('0','1','2','3','4','5','6','7','8');
$replace = array('0-9','0-9','0-9','0-9','0-9','0-9','0-9','0-9','0-9');
$dir = str_replace($search, $replace, $direction);
然后根据你的字符串来计算9 我的是
0123456789
,所以我试了一下
$dir=str_替换('99','9,0-9',$dir)


其在矿山上的工作

在以下文件中进行了说明:

小心

替换订单已收到 因为
str_replace()
从左到右替换,所以在执行多次替换时,它可能会替换以前插入的值

将数组作为前两个参数传递给
str\u replace()
。这与对数组中的每个元素重复调用
str\u replace()
相同

如果
$direction
不是
'9'
,则它将替换为
'0-9'
。然后,在最后一个循环中,它将
'0-9'
中的
'9'
替换为
'0-9'
(根据您传递的值)


我会把代码放在第一行之后,然后再次阅读第一句话:“获取第一个数字并用0-9替换它”

如果您的目标是获取
$query\u row[“Band”]
的第一个字符,如果它是一个数字(如果是大写的话),则将其替换为
0-9
,我会写一些更简单的内容:

$direction = substr($query_row["Band"], 0, 1);

if (is_numeric($direction)) {
    $dir = '0-9';
} else {
    $dir = strtoupper($direction);
}

移除,从arrayTypo开始
$replace=[,'0'
我理解你的问题,当你替换
0=>0-9
然后替换
9=>0-9
这意味着0变成0-0-9搜索解决方案时,请等待我认为你在
$direction
中有多个数字的问题。如果你有多个数字,它将替换所有这些数字,而不仅仅是第一个数字ne.请给出
$direction
的示例和预期结果。也发布
$direction
的值。与预期输出谢谢,您让我找到了解决方案。我将fist$dir更改为$direct$dir=str_replace('99','9,0-9','dir');更改为$dir=str_replace('0-9','0-9','direct);)