我这里有这段代码。我试图循环遍历我拥有的数组并替换 color_codes 中的所有散列和破折号。它有效,但我在 str 替换行上收到错误 undefined offset 2
。它还在末尾添加了另一个名为“color_codes”的数组。
for ($i = 0; $i < count($colours); $i++) {
for ($ii = 0; $ii < count($colours[$ii]); $ii++) {
$colours[$i][$ii]['color_codes'] = str_replace(',','-', $colours[$i][$ii]['color_codes']);
$colours[$i][$ii]['color_codes'] = str_replace('#','', $colours[$i][$ii]['color_codes']);
}
}
原始数组
Array
(
[0] => Array
(
[0] => Array
(
[item_color] => Black
[color_codes] => #000000,#000000
)
[1] => Array
(
[item_color] => Red
[color_codes] => #FF0033,
)
)
[1] => Array
(
[0] => Array
(
[item_color] => White
[color_codes] => #FFFFFF,
)
[1] => Array
(
[item_color] => Black
[color_codes] => #0C0C0C,#0C0C0C,
)
)
)
foreach 之后创建的数组
Array
(
[0] => Array
(
[0] => Array
(
[item_color] => Black
[color_codes] => 000000-000000-
)
[1] => Array
(
[item_color] => Red
[color_codes] => FF0033-
)
[2] => Array
(
[color_codes] =>
)
)
[1] => Array
(
[0] => Array
(
[item_color] => White
[color_codes] => FFFFFF-
)
[1] => Array
(
[item_color] => Black
[color_codes] => 0C0C0C-0C0C0C-
)
[2] => Array
(
[color_codes] =>
)
)
)
我不知道问题出在哪里,它除了未定义的偏移错误
最佳答案
for ($ii = 0; $ii < count($colours[$ii]); $ii++) {
应该是
for ($ii = 0; $ii < count($colours[$i]); $ii++) {
但是您可以使用 foreach
代替 for
循环。
关于javascript - PHP 未定义偏移量 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20632912/