javascript - PHP 未定义偏移量 2

标签 javascript php arrays

我这里有这段代码。我试图循环遍历我拥有的数组并替换 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/

相关文章:

javascript - 使用 svg 内的 javascript 函数操作 svg 外的对象

php - ddd - 与远程 API 的同步应该去哪里?

JavaScript 在 codeigniter 中不起作用?

php - symfony2 - 在存储库或类中使用多个连接

arrays - 在 Rust 中如何在编译时确定数组的大小?

python - Python 中的 C++ Vector 以提高性能

python - numpy 将切片 append 到二维数组以使其成为三维数组

javascript - Backbone - 将 2 个集合合并在一起?

javascript - 如何在 react.js 中检测父组件中的子渲染

javascript - 如何在 Javascript 中获取当前日期、月份和年份而不是用户 PC 的日期、月份和年份?