【问题标题】:Operation at strings and arrays对字符串和数组的操作
【发布时间】:2018-07-14 15:08:41
【问题描述】:

我想问一下php中对数组的操作。
我正在从数据库中的一个表中捕获两个单元格,其中包含格式为“1;3;6;”的字符串和整个第二张表 - 它在第一列中有数字,在第二列中有名称。我使用explode() 函数将第一个表中的字符串分成两个数组,将第二个表分成接下来的两个数组,每个数组都有一列。因此,当print_r() 用于这三个数组时,我会看到:
错误报告(E_ALL); ini_set('display_errors', 1);

第一张桌子
"amount" 字符串转换成数组调用 $ship_storage_parted_amount Array ( [0] => 5 [1] => 10 [2] => )

"ware id" 字符串转换成数组调用 $ship_cargo_bay_parted Array ( [0] => 1 [1] => 2 [2] => )

第二个表被转换成两个数组$ware_id$ware_name
表格总共包含 7 行
数组 ( [0] => 数组 ( [ware_id] => 1 [名称] => 能量电池 )

[1] => 数组 ( [ware_id] => 2 [名称] => 耗尽的能量电池 )

[2] => 数组 ( [ware_id] => 3 [名称] => 蔬菜 )

[3] => 数组 ( [ware_id] => 4 [名称] => 肉 ) )

我想实现下一件事:在网站上根据第二个表的 ID 显示适当的等名,并结合第一个表中存储的内容。
因此,它应该如下所示:

通电能量电池 x5
耗尽能量电池 x10

当我尝试这样向他们展示时:
echo $ware_name[$ship_cargo_bay-1]." x".$ship_storage_parted_amount[$ware_position];
结果是这样的输出:

通电的能量电池 x

其中$ship_cargo_bay 包含所有捕获的字符串“ware id”,$ware_position 是数量计数器。数量计数器指向第三个数组元素,它是空的;但是当我用 for() 重新组织打印时
for($i=0;$i}lowerthan{$ware_counter;$i++) {echo $ware_name[$ship_cargo_bay_parted[$i]]." x".$ship_storage_parted_amount[$i];}
我现在有

x5 x10 x x

我可怜的知识到此结束。据我所知,第一次尝试打印根本不起作用,但是为什么我在第二次尝试中得到这样的输出超出了我的理解。

【问题讨论】:

  • 在代码开头添加:error_reporting(E_ALL); ini_set('display_errors', 1);
  • 已添加,现在看起来几乎符合预期 - 非常感谢。但是我无法隐藏它 -

    不会播放。

标签: php mysql arrays string mysqli


【解决方案1】:

终于找到了原因,我哪里出错了。在仔细检查每个变量的名称,打印所有内容后,我发现我以某种方式拼错了变量名称。

for($i=1;$i<$ware_counter;$i++)
            {
            echo $ware_name[$ship_storage_parted[$i]]." x ".$ship_storage_parted_amount[$i]."<br/>";
            }

这几行正是我所需要的。因此我把它放在这里 - 也许有人会遇到类似的问题。

【讨论】:

    猜你喜欢
    • 2017-12-05
    • 2018-04-02
    • 2015-06-29
    • 2015-01-19
    • 2013-05-29
    • 2012-03-25
    • 2011-03-22
    • 1970-01-01
    • 2020-09-04
    相关资源
    最近更新 更多