字符串和数组

时间:2018-02-04 17:38:24

标签: php mysql arrays string mysqli

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

  

第一张表       
  “amount”将字符串转换为名为 $ship_storage_parted_amount数组的数组       (           [0] =>五           [1] => 10           [2] =>       )

     

“ware id”将字符串转换为名为 $ship_cargo_bay_parted数组的数组       (           [0] => 1           [1] => 2           [2] =>       )

     

第二个表格变为两个数组$ware_id$ware_name   
表包含7行   
阵列   (       [0] =>排列           (               [ware_id] => 1               [name] =>能量电池           )

     

[1] =>排列           (               [ware_id] => 2               [name] =>耗尽能量细胞           )

     

[2] =>排列           (               [ware_id] => 3               [name] =>蔬菜           )

     

[3] =>排列           (               [ware_id] => 4               [name] =>肉           )   )

我想要实现下一个目标:根据第二个表格中存储在第一个表格中的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是金额计数器。金额计数器指向空的第3个数组元素;但当我用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

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

1 个答案:

答案 0 :(得分:0)

终于找到了原因,我犯了错误。在仔细检查每个变量的名称后,打印出所包含的内容,我发现我在某种程度上错误地改变了变量名称。

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

这几行完全符合我的需要。因此,我把它放在这里 - 也许有人会遇到类似的问题。