如何获取Array值来分隔php变量

时间:2016-08-29 07:20:29

标签: php mysql arrays

我正在尝试检索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;

5 个答案:

答案 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"
*/