使用 PHP 中的 foreach 循环将数组值转换为单个数组
Posted
技术标签:
【中文标题】使用 PHP 中的 foreach 循环将数组值转换为单个数组【英文标题】:Array values to single array using foreach loop in PHP 【发布时间】:2022-01-22 01:32:45 【问题描述】:我正在使用 php 和数组,我有多个数组,如下所示
Array
(
[0] => Array
(
[wallet_address] => 0x127e61982701axxxxxxxxxxxxxxxxxxxxxxxxxxx
)
[1] => Array
(
[wallet_address] => 0xf80a41eE97e3xxxxxxxxxxxxxxxxxxxxxxxxxxxx
)
[2] => Array
(
[wallet_address] => 0x24361F1602bxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
)
等等……
我想用逗号将它们放在单个数组中,如下所示
$set = array("0x127e61982701axxxxxxxxxxxxxxxxxxxxxxxxxxx","0xf80a41eE97e3xxxxxxxxxxxxxxxxxxxxxxxxxxxx","0x24361F1602bxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
我该怎么做?这是我当前的代码,但无法正常工作,显示相同的结果(0、1、2 键),我错在哪里?
$GetUserFollower; //contaning multiple array value
$set=array();
foreach($GetUserFollower as $arr)
$set[]=$arr;
echo "<pre>";print_R($set);
【问题讨论】:
你试过了吗???:$set[]=$arr["wallet_address"]; @KHIMAJIVALUKIYA:是的,但我想要所有带有逗号的数组值(“,”) php.net/manual/en/function.array-column.php 要么不清楚你到底在问什么,要么你误解了数组的本质,数组必须有某种键 【参考方案1】:原始数组是一个 Assoc 数组,因此需要在循环中专门处理 wallet_address。或者你可以使用array_column()
内置函数来实现同样的事情。
$GetUserFollower; //contaning multiple array value
$set=array();
foreach($GetUserFollower as $arr)
$set[] = $arr['wallet_address'];
echo "<pre>";print_r($set);
或者
$new = array_column($GetUserFollower, 'wallet_address');
print_r($new);
结果
Array
(
[0] => 0x127e61982701axxxxxxxxxxxxxxxxxxxxxxxxxxx
[1] => 0xf80a41eE97e3xxxxxxxxxxxxxxxxxxxxxxxxxxxx
[2] => 0x24361F1602bxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
)
你的 cmets 让我觉得你想要一个没有键的数组,这是不可能的。如果您使用 cmets 中显示的示例执行此操作
$set = array("0x127e61982701axxxxxxxxxxxxxxxxxxxxxxxxxxx","0xf80a41eE97e3xxxxxxxxxxxxxxxxxxxxxxxxxxxx","0x24361F1602bxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
print_r($set);
你会看到
Array
(
[0] => 0x127e61982701axxxxxxxxxxxxxxxxxxxxxxxxxxx
[1] => 0xf80a41eE97e3xxxxxxxxxxxxxxxxxxxxxxxxxxxx
[2] => 0x24361F1602bxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
)
【讨论】:
@RiggFolly:我已经提到我想要以下方式的值 $set = array("0x127e61982701axxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","0xf80a41eE97e3xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","0x24361F1602bxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"); 就是这2位代码会产生的结果 您的代码不在单个数组/行中且没有任何逗号(“xxxx”) 请运行print_r(array("0x127e61982701axxxxxxxxxxxxxxxxxxxxxxxxxxx","0xf80a41eE97e3xxxxxxxxxxxxxxxxxxxxxxxxxxxx","0x24361F1602bxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"));
并查看输出!
请告诉我如何在单行中使用逗号和邀请逗号 ("xxxx","xxxxxx") 获取数组以上是关于使用 PHP 中的 foreach 循环将数组值转换为单个数组的主要内容,如果未能解决你的问题,请参考以下文章
将数据从 javascript forEach 循环中的 php 数组发送到 ajax 调用的 url