我有一个数组:
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的值(零)替换。但只有一次。无法弄清楚为什么。我做错了什么,还是只是普通的恶魔活动?
答案 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
结论: -
您的代码中会出现类似上述内容。不完全如上,但类似于那个。