包含在数组中的字符串值中的字母将替换为具有该字母名称的变量的值

时间:2016-10-01 16:17:15

标签: php arrays string variables replace

我有一个数组:

int getRandom(int range_begin, int range_end);

我做了很多东西,一切都很好,直到这行代码:

$path_r = array("/oldsites/web-sites","/oldsites/web_elements","/oldsites/web_old_stuff");

就在该行之前,数组($ path_r)看起来像这样(与上面相同):

$path_r[$i][$j] = $name;

但是,就在这之后,它看起来像这样:

Array
(
    [0] => /oldsites/web-sites
    [1] => /oldsites/web_elements
    [2] => /oldsites/web_old_stuff
)

也就是说,第一个值中的字母“i”被变量$ i的值(零)替换。但只有一次。无法弄清楚为什么。我做错了什么,还是只是普通的恶魔活动?

1 个答案:

答案 0 :(得分:2)

正如你所说 "I do a bunch of stuff to it and everything is fine until this line of code:" ,所以我们不知道代码中发生了什么。

下面给出了一个合理的解释:

当你写: -

$path_r[$i][$j]

它变得类似: - "/oldsites/web-sites"[$j](如果$i = 0; // for an example),

此表达式的确代表 substr($string, int, $j)

(基于此链接说明: - https://stackoverflow.com/a/17193651/4248328

所以基本上是 $path_r[$i][$j] = $name;

表示在 $name 的地方分配 $path_r[$i][$j] ,实际上是 substr($string, int, $j)

要轻松理解,请点击以下链接: - https://eval.in/653580

结论: -

您的代码中会出现类似上述内容。不完全如上,但类似于那个。