gpt4 book ai didi

php - 通过 unserialize() 函数和 mysql 查询获取所有数组值

转载 作者:行者123 更新时间:2023-11-29 23:31:49 24 4
gpt4 key购买 nike

如何从该数组中获取 $userid 和 $username 的所有值

a:1:{s:2:"cc";a:2:{i:4;s:4:"koko";i:8;s:4:"soso";}}

我的代码只打印最后一个字符串,我想将所有值作为数组获取,并在循环中打印所有值

$touser = array();
$sql = $db->query_read("SELECT touserarray FROM " . TABLE_PREFIX . " pmtext where pmtextid = 147 ");
while ($sql1 = $db->fetch_array($sql))
{

$touser = unserialize($sql1['touserarray']);
foreach($touser AS $key => $item)
{
if (is_array($item))
{
foreach($item AS $subkey => $subitem)
{
$username = $subitem;
$userid = $subkey;
}
}
else
{
$username = $item;
$userid = $key[$i];
}
}
}
echo $username .'<br />'. $userid ;

当我打印 $username 和 $userid 时只打印姓氏和姓氏//输出用户名:soso用户 ID:8

最佳答案

如果您想打印或存储数据,您需要为其创建一个新的数据结构。如果您只想打印数据,则需要在设置 $username$userid 的循环中执行此操作;否则每次循环运行时这些值都会被覆盖。

# create an array for storing user names and IDs.
$user_arr = array();

foreach($touser as $key => $item)
{
if (is_array($item))
{
foreach($item AS $subkey => $subitem)
{
$username = $subitem;
$userid = $subkey;
}
}
else
{
$username = $item;
$userid = $key[$i];
}
# store the data as $user_arr[$id] = $name
$user_arr[$userid] = $username;
# or if you just want to print off the data during the loop...
echo "ID: $userid; name: $username" . PHP_EOL;
}

foreach ($user_arr as $k => $v) {
echo "id: $k; name: $v" . PHP_EOL;
}

输出:

id: 4; name: koko
id: 8; name: soso

关于php - 通过 unserialize() 函数和 mysql 查询获取所有数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26523611/

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