0

下面是我的数组输出

 [0] => Array
[OrderDetails] => Array
(

  [Options] => [Nicotine Level:12mg Nicotine][Sampler Item 1:Krankberry][Sampler Item 2:Unicorn Blood][Sampler Item 3:WaterFelons]
)
)

我只想从选项字段中显示尼古丁水平,选项可能会有所不同,请帮助我。我有很多选项。

我用过下面的代码

$explode_var = explode('[','[Nicotine Level:12mg Nicotine][Sampler Item 1:Krankberry][Sampler Item 2:Unicorn Blood][Sampler Item 3:WaterFelons]');

echo '<pre>';
print_r($explode_var);
echo '</pre>';
4

1 回答 1

2

这是阅读代码注释的一种方法:

<?php
$data = array(array('OrderDetails' => array('Options' => '[Nicotine Level:12mg Nicotine][Sampler Item 1:Krankberry][Sampler Item 2:Unicorn Blood][Sampler Item 3:WaterFelons]')));

$options = $data[0]['OrderDetails']['Options'];
$options = str_replace(']', '', $options);
$old_var = array_filter(explode('[',$options));
$result = array();
foreach ($old_var as $items)
{
    $item = explode(':', $items);
    $result[$item[0]] = $item[1];
}

foreach ($result as $key=>$value)
{
    echo $key, " => ", $value, "<br/>\n";
}

现场演示。

于 2013-08-09T14:37:26.347 回答