使用 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

PHP中使用foreach循环读取数组数据的方法

使用PHP与2个foreach循环中的数组进行比较时如何获取迭代次数

php foreach循环中的变量

如何在foreach循环中将数组结果组合在php中

php foreach怎样获取当前的循环次数