【发布时间】:2018-07-14 15:08:41
【问题描述】:
我想问一下php中对数组的操作。
我正在从数据库中的一个表中捕获两个单元格,其中包含格式为“1;3;6;”的字符串和整个第二张表 - 它在第一列中有数字,在第二列中有名称。我使用explode() 函数将第一个表中的字符串分成两个数组,将第二个表分成接下来的两个数组,每个数组都有一列。因此,当print_r() 用于这三个数组时,我会看到:
错误报告(E_ALL); ini_set('display_errors', 1);
第一张桌子
"amount" 字符串转换成数组调用$ship_storage_parted_amountArray ( [0] => 5 [1] => 10 [2] => )"ware id" 字符串转换成数组调用
$ship_cargo_bay_partedArray ( [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