我有一个从包含文件获取数组的变量,我想在另一个文件中使用来自该数组的foreach,并让它显示我的数组中的随机ID。
这是我从包含文件中获得的数组。 (来自/products.php)
function get_all() {
$products = array();
$products[101] = array(
"name" => "Red",
"img" => "img-101.jpg",
);
$products[102] = array(
"name" => "Blue",
"img" => "img-102.jpg",
);
$products[103] = array(
"name" => "Green",
"img" => "img-103.jpg",
);
foreach ($products as $product_id => $product) {
$products[$product_id]["sku"] = $product_id;
}
return $products;
}
(来自display.php) 现在我想把products.php中的函数调用到变量中并让它通过foreach循环。这是我的代码。
require_once include("products.php");
$random = function get_all();
$shuffle = shuffle($random);
foreach($shuffle as $product) {
echo $product["name"];
echo $product["img"];
}
这是我尝试过的代码,但它继续吐出错误,说明变量未定义。
有人可以告诉我这里我做错了什么吗?以及如何解决它。
提前致谢
答案 0 :(得分:0)
尝试使用,
$random = get_all();
shuffle($random);
foreach($random as $product) {
echo $product["name"];
echo $product["img"];
}
而不是
$random = function get_all();
$shuffle = shuffle($random);
答案 1 :(得分:0)
u_mulder向您显示实施错误
更改此
$shuffle = shuffle($random);
以下
shuffle($random);
注意此错误,请转到manual/shuffle并检查功能签名
bool shuffle ( array &$array )
此函数返回一个布尔值,并且会因为它作为引用传递而影响您的数组。其余的似乎应该工作