使用变量追加数组

时间:2016-02-06 21:20:21

标签: php arrays

所以我正在做的是创建一个函数,该函数将传入要附加到另一个数组的数组。这就是我的目标"尝试"要做:

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, ), ); 函数并传入任何选项以将该选项数组附加到衬衫数组。但这种方法不起作用?我得到一个白色的屏幕,我不认为这是有效的。

希望有道理。

2 个答案:

答案 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();