所以我正在做的是创建一个函数,该函数将传入要附加到另一个数组的数组。这就是我的目标"尝试"要做:
p2
现在Global $shirts;
Global $prices;
$shirts = array(
'Option1' => array(),
'Option2' => array(),
);
$prices = array(
'product1' => array(
'bronze' => 1,
'silver' => 2,
'gold' => 3,
),
'product2' => array(
'bronze' => 4,
'silver' => 5,
'gold' => 6,
),
);
function shirts($shirts_model) {
global $shirts;
global $prices;
foreach ($shirts => $shirt) {
$result = array_merge($shirt, $prices[$shirt_model]);
}
print_r($result);
}
shirts('product2');
数组现在看起来像是:
$shirts
使用" product2"阵列。基本上现在我可以调用$shirts = array(
'Option1' => array(
'bronze' => 4,
'silver' => 5,
'gold' => 6,
),
'Option2' => array(
'bronze' => 4,
'silver' => 5,
'gold' => 6,
),
);
函数并传入任何选项以将该选项数组附加到衬衫数组。但这种方法不起作用?我得到一个白色的屏幕,我不认为这是有效的。
希望有道理。
答案 0 :(得分:1)
function shirts($shirt_model) {
global $shirts;
global $prices;
// create an empty array for the results
$results = array();
// loop so that you have both the key, value, and we'll only use the key
foreach ($shirts as $option => $shirt) {
// just add the prices to the results
$results[$option] = $prices[$shirt_model]);
}
return $results;
}
答案 1 :(得分:1)
正如我在评论中提到的,我现在将其转换为答案。
首先,您需要将foreach()
功能修复为:
foreach($array as $value)
修改后的代码:
function shirts($shirts_model)
{
global $shirts, $prices;
foreach ($shirts as $key => $shirt)
{
$result[$key] = $prices[$shirts_model];
}
return $result;
}
现在调用它:
$record = shirts('product2');
echo "<pre>";
print_r($record);
错误报告:
在您的代码中添加error_reporting
ON ,这有助于您找到问题。
error_reporting();