如何在数组中找到值的行号?

How find Row Number of Value within Array?

我已将所有数据保存到一个数组中,我想获取提供的 'code' 的 'name'。

如何获取该代码的数组行?

此外,这是最有效的流程吗?

 id  |  code  |  name     |  
__________________________
1   |  KNTY  |  Kentucky |
2   |  PURD  |  Purdue   |
3   |  TEXS  |  Texas    |


// Move data to array
$search = "SELECT * FROM table";
$query = mysqli_query($conn, $search);
while($row = mysqli_fetch_assoc($query)) {
   $array[] = $row;
}

// Code I want a name for
$code = "KNTY";
// MYSTERY STEP I NEED HELP WITH
$name = $array[$id]['name'];

我根据的评论提示进行编辑。您可以使用 code 作为 $array:

的键
$search = "SELECT * FROM table";
$query = mysqli_query($conn, $search);

$array = array();

while($row = mysqli_fetch_assoc($query)) {
   $array[$row['code']] = $row['name'];
}

// Code I want a name for
$code = "KNTY";

$name = $array[$code];

是的,你可以做类似的事情,在获取循环中,将 code 指定为键。这必须是唯一的:

$search = 'SELECT * FROM table_name';
$query = mysqli_query($conn, $search);
while($row = mysqli_fetch_assoc($query)) {
    // assign `$row['code']` as key to this rowset
    $array[$row['code']] = $row;
}

$code = 'KNTY';
if(isset($array[$code])) { // add some checking, you wouldn't want undefined index errors
    $name = $array[$code]['name'];
    echo $name;
} else {
    echo 'Sorry not found';
}