gpt4 book ai didi

php - 如何将两列表写为数组?

转载 作者:行者123 更新时间:2023-12-04 06:06:54 24 4
gpt4 key购买 nike

我有一个带有 2 列的简单表格:IDName .它看起来像这样:

License_ID      License_Name
5 xxx
8 yyy
13 zzz

我想把这个表写成一个数组,我希望能够找到 license_idlicense_name提供。我该如何编写这个数组?

编辑:我可以编写与提供的答案 nickb 相同的数组,
$array = array(
'xxx' => 5,
'yyy' => 8,
'zzz' => 13
);

但我想将 license_id 和 license_name 作为 key ,而不是使用 license_name 的值作为 key 。

最佳答案

使用与许可证名称对应的键和与许可证 ID 对应的值形成一个数组,如下所示:

$sql = 'SELECT * FROM table'; // Optionally add a WHERE clause
$result = mysql_query( $sql);
$array = array();
while( $row = mysql_fetch_array( $result))
{
// Form the array
$array[ $row['License_Name'] ] = $row['License_ID'];
}
mysql_free_result( $result);

要省略表并使用全局变量,请使用相同的技术:
$array = array(
'xxx' => 5,
'yyy' => 8,
'zzz' => 13
);

现在,要查找许可证 ID,您只需要:
$license_id = 8;
$id = $array[ $license_id ]; // $id = 'yyy';

编辑:这是以更清晰的方式表示方式的另一种方式:
$array = array(
array(
'license_id' => 5,
'license_name' => 'xxx'
),
array(
'license_id' => 8,
'license_name' => 'yyy'
),
array(
'license_id' => 13,
'license_name' => 'zzz'
)
);

然后,要在提供 license_name 时找到 license_id,请循环查找结果:
$license_name = 'zzz';
foreach( $array as $entry)
{
if( $entry['license_name'] == $license_name)
{
echo 'Found ID of ' . $license_name . ' - ' . $entry['license_id'];
break;
}
}

或者,更直接的防止循环的方法是修改上述技术,让每个子数组都包含 license_name 作为其键,如下所示:
$array = array(
'xxx' => array(
'license_id' => 5,
'license_name' => 'xxx'
),
'yyy' => array(
'license_id' => 8,
'license_name' => 'yyy'
),
'zzz' => array(
'license_id' => 13,
'license_name' => 'zzz'
)
);

现在,要找到 license_id,您可以在知道 license_name 后直接执行此操作:
$license_name = 'zzz';
$license_id = $array[ $license_name ]['license_id'];

关于php - 如何将两列表写为数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8253359/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com