【发布时间】:2014-02-09 20:21:45
【问题描述】:
我有这个代码:
$sample = '5ml milk, 5ml water, 3pcs carrots';
echo $sample."</br>";
$first_slice = explode(',',$sample);
foreach($first_slice as $key => $value)
{
$second_slice[$key] = explode(' ',$value);
}
print_r($second_slice);
它做我想要的,我需要将 5 毫升牛奶与 5 毫升水和 3 根胡萝卜分开 从那里我需要再次从牛奶中分离出 5 毫升。
我的问题是,我如何仅选择/回显 5ml 和牛奶作为单个数据。
以上代码产生结果:
数组 ( [0] => 数组 ( [0] => 5ml [1] => 牛奶 ) [1] => 数组 ( [0] => [1] => 5ml [2] => 水 ) [2] => 阵列 ( [0] => [1] => 3pcs [2] => 胡萝卜))
我对如何选择/回显感到很困惑,因为我将它爆炸了两次,这意味着它是数组中的一个数组。如果我的理解有误,请纠正我。
附加问题:我必须炸三次。由于我的表有名称、数量、单位列。 name 为成分名称,quantity 为数量,unit 为计量单位。
分别[牛奶] [5] [毫升]
我做了同样的事情来制作另一个数组来分离测量和数量。但它消除了冗余。
foreach($second_slice as $key=>$value)
{
$arr = explode('-',$value);
$third_slice[$arr[1]] = $arr[0];
}
输出是:
数组([ml] => 5 [pcs] => 3)
绳子上有 2 个 5ml 的。我怎样才能避免它被取出来?因为它们是不同的成分。
【问题讨论】: