Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在返回的MySQL值数组上设置索引_Php_Mysql_Associative Array - Fatal编程技术网

Php 在返回的MySQL值数组上设置索引

Php 在返回的MySQL值数组上设置索引,php,mysql,associative-array,Php,Mysql,Associative Array,我正在尝试将2d PHP数组的索引从数字索引设置为键。到目前为止,我得到的是: $result = mysql_query("SELECT * FROM settings"); if(mysql_num_rows($result) > 0 ){ while($row = mysql_fetch_assoc($result)){ $dataArray[] = $row ; } } $value_to_display

我正在尝试将2d PHP数组的索引从数字索引设置为键。到目前为止,我得到的是:

$result = mysql_query("SELECT * FROM settings");
 if(mysql_num_rows($result) > 0 ){
        while($row = mysql_fetch_assoc($result)){
              $dataArray[] = $row ;
        }
}       

$value_to_display = $dataArray[0]['value'];
但是,我希望能够使用如下内容:

$value_to_display = $dataArray['some_index_value']['value'];
有人知道我如何做到这一点吗?我试着替换制作一个按键阵列,然后使用combine,但我只能手动操作。感谢您的帮助

怎么样

while ($row = mysql_fetch_assoc($result)) {
   $dataArray[$row['somefield']] = $row;
}
假设
somefield
是唯一的,您将得到一个由该字段的值键入的数组。如果您需要键入来自其他地方的名称,例如

$keynames = array('foo', 'bar', 'baz', ....);
$idx = 0;
while($row = mysql_fetch_assoc($result)) {
   $dataArray[$keynames[$idx]] = $row;
   $idx++;
}
只需确保您有足够的键名来处理查询返回的所有记录。

如何

while ($row = mysql_fetch_assoc($result)) {
   $dataArray[$row['somefield']] = $row;
}
假设
somefield
是唯一的,您将得到一个由该字段的值键入的数组。如果您需要键入来自其他地方的名称,例如

$keynames = array('foo', 'bar', 'baz', ....);
$idx = 0;
while($row = mysql_fetch_assoc($result)) {
   $dataArray[$keynames[$idx]] = $row;
   $idx++;
}

只需确保您有足够的键名来处理查询返回的所有记录。

请。已在PHP7中删除。了解有关使用PDO的语句,并考虑使用.jayBrAcGaRad,您是完全正确的,但是出于一系列复杂的原因,我必须在一些旧代码中挖掘,并且还可以升级。$DATAARDATA[$ROL[ANYALLY] ][]= $ROW;为什么要将它们从一个阵列移动到另一个阵列?第一个数组
$row[]
似乎完全可以接受,除非您试图创建一个数组数组。请。已在PHP7中删除。了解有关使用PDO的语句,并考虑使用.jayBrAcGaRad,您是完全正确的,但是出于一系列复杂的原因,我必须在一些旧代码中挖掘,并且还可以升级。$DATAARDATA[$ROL[ANYALLY] ][]= $ROW;为什么要将它们从一个阵列移动到另一个阵列?第一个数组
$row[]
似乎是完全可以接受的,除非您试图创建一个数组数组。工作非常好,我知道我缺少了一些小键(请原谅无意中的双关语)。非常感谢!工作完美,我知道我丢失了一些小钥匙(请原谅无意中的双关语)。非常感谢!