此代码构建一个数组:
$size = sizeof($include_quotes);
for ($i=0; $i<$size; $i++) {
$quotes = $GLOBALS[$include_quotes[$i]]->quote($method);
if (is_array($quotes)) $quotes_array[] = $quotes;
}
}
如果我
print_r($quotes_array);
我得到以下内容:
Array ( [0] => Array ( [id] => advshipper [methods] => Array ( [0] => Array ( [id] => 1-0-0 [title] => Trade Shipping [cost] => 20 [icon] => [shipping_ts] => [quote_i] => 0 ) [1] => Array ( [id] => 2-0-0 [title] => 1-2 working days [cost] => 3.2916666666667 [icon] => [shipping_ts] => [quote_i] => 1 ) [2] => Array ( [id] => 4-0-0 [title] => 2-3 working days [cost] => 2.4916666666667 [icon] => [shipping_ts] => [quote_i] => 2 ) [3] => Array ( [id] => 8-0-0 [title] => Click & Collect [cost] => 0 [icon] => [shipping_ts] => [quote_i] => 3 ) ) [module] => Shipping [tax] => 20 ) )
在某些情况下,我只希望将字段0
中的数据传递到代码的下一部分。但是,使用
$sliced_quotes_array = array_slice($quotes_array,0,1);
仍然会返回所有结果。
获得正确的方法是什么:
Array ( [0] => Array ( [id] => advshipper [methods] => Array ( [0] => Array ( [id] => 1-0-0 [title] => Trade Shipping [cost] => 20 [icon] => [shipping_ts] => [quote_i] => 0 )
任何帮助都非常感激,因为我尝试了许多不同的方式,但没有运气。
使用以下内容仍会返回相同的结果
$testarray = array(0 => $quotes_array[0]);
print_r($testarray);
答案 0 :(得分:0)
为什么不直接使用数组构造函数并明确包含所需内容:
array(0 => $quotes_array[0]);
答案 1 :(得分:0)
这是你的数组:
当您说“我只想将字段0中的数据传递到代码的下一部分”时,您的意思是您只希望接下来传递此数据,对吧? :
Array (
[0] => Array (
[id] => advshipper
[module] => Shipping
[tax] => 20
)
)
这是你想要的吗?
$newArray = array();
foreach ($quotes_array[0] as $items)
{
if (!is_array($items))
{
$newArray[] = $items;
}
}
$newArray
将包含该数据。
<强>更新强>
好的,抓住了。 你可以使用它:
$newArray = $quotes_array[0]['methods'][0];
答案 2 :(得分:0)
在对阵列进行了一些阅读并经过一些试验后,我找到了解决问题的方法。
我用过:
unset($quotes_array[0]['methods'][1]);
通过更改索引编号后,我可以删除任何我不需要的运输选项,同时仍然保持功能。