我正在尝试检索MySQL DB中的记录。我想检索属于img_path列的所有记录。从以下代码我得到的结果是一个数组。但是我们把它们作为单独的变量。
我的代码
$result_list = array();
while($row = mysqli_fetch_array($query)) {
$result_list[] = $row;
}
foreach($result_list as $row) {
$productitems[] = array(
'img_path' => $row['img_path'],
);
}
print_r($productitems);
当前输出
Array (
[0] => Array ( [img_path] => img/8041171eda3a8fddf508bfd0d9a0866e1472441466.png )
[1] => Array ( [img_path] => img/91882b5f9ffa624a9dc81dfa0ec980861472441077.jpg )
[2] => Array ( [img_path] => img ) )
预期产出
$variable1 = img/8041171eda3a8fddf508bfd0d9a0866e1472441466.png;
$variable2 = img/91882b5f9ffa624a9dc81dfa0ec980861472441077.jpg;
答案 0 :(得分:1)
你可以这样做:
$result_list = array();
while($row = mysqli_fetch_array($query)) {
$result_list[] = $row;
}
foreach($result_list as $k => $row) {
$varName = 'var' . $k;
$$varName = array(
'img_path' => $row['img_path'],
);
}
您将可以访问$ var0,$ var1等等。
答案 1 :(得分:1)
您可以使用extract
这样的功能:
$result_list = array();
while($row = mysqli_fetch_array($query)) {
$result_list[] = $row;
}
foreach($result_list as $row) {
$productitems[] = $row['img_path'];
}
extract($productitems, EXTR_PREFIX_ALL, "variable");
echo $variable_0;
echo $variable_1;
echo $variable_2;
答案 2 :(得分:0)
您可以使用extract()
功能。文档here
extract()函数将变量导入到本地符号表中 从阵列。
此函数使用数组键作为变量名称和值作为变量 值。对于每个元素,它将在当前创建一个变量 符号表。
此函数返回成功时提取的变量数。
答案 3 :(得分:0)
使用list()
。
http://php.net/manual/en/function.list.php
从手册:
$info = array('coffee', 'brown', 'caffeine');
// Listing all the variables
list($drink, $color, $power) = $info;
echo "$drink is $color and $power makes it special.\n";
答案 4 :(得分:0)
您还可以使用以下代码,不需要使用其他功能,例如list()
或extract()
。这也是一种非常简约的方法。
$result_list = array();
while($row = mysqli_fetch_array($query)) {
$result_list[] = $row;
}
foreach($result_list as $key => $row) {
${'img_path_'.$key} = $row['img_path'];
}
/*
Output:
["img_path_0"]=>
string(50) "img/8041171eda3a8fddf508bfd0d9a0866e1472441466.png"
["img_path_1"]=>
string(50) "img/91882b5f9ffa624a9dc81dfa0ec980861472441077.jpg"
["img_path_2"]=>
string(3) "img"
*/