【问题标题】:Array values to single array using foreach loop in PHP使用 PHP 中的 foreach 循环将数组值转换为单个数组
【发布时间】: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 arrays


【解决方案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") 获取数组
猜你喜欢
  • 2023-02-05
  • 2019-10-01
  • 1970-01-01
  • 2020-04-06
  • 1970-01-01
  • 2020-07-04
  • 1970-01-01
  • 1970-01-01
  • 2011-06-09
相关资源
最近更新 更多