【问题标题】:creating arrays based on contents of an array?根据数组的内容创建数组?
【发布时间】:2014-10-16 05:34:35
【问题描述】:

我从一个站点中提取数据并放入一个数组中。本质上,它就像:

$lines = array(Ginza, Marunouchi, Hibiya, Tozai, Chiyoda, Yurakucho)

如果我可以根据这些名称创建数组,那将是最方便的。 因此,例如,我以后可以这样做:

var_dump($Yurakucho);

最终,我将通过 $lines 循环以根据其内容提取数据,生成一个 file_get_contents 行如下:

$info = '?rdf:type=odpt:StationTimetable&odpt:station=odpt.Station:TokyoMetro.Yurakucho.Heiwadai';

其中'Yurakucho'来自$lines,'Heiwadai'来自$Yurakucho。 我试过$$lines = array();,还是不行。我可以使用 extract($lines) 创建数组名称吗?

非常感谢您的宝贵时间。

【问题讨论】:

  • 也许你应该使用像$lines = array('Yurakucho' => array('Heiwadai', ....))这样的数组?
  • 您打算从哪里获得 $Yurakucho 的值...??
  • $lines 的值将从 url 查询中提取,例如 https://api.tokyometroapp.jp/api/v2/datapoints/odpt.Railway:TokyoMetro,然后用于进行另一个查询,例如 https://api.tokyometroapp.jp/api/v2/datapoints?rdf:type=odpt:StationTimetable&odpt:station=odpt.Station:TokyoMetro.Yurakucho,这将导致将时间表放入数组 @987654328 @.

标签: php arrays extract


【解决方案1】:

应该这样做:

$lines = array('Ginza', 'Marunouchi', 'Hibiya', 'Tozai', 'Chiyoda', 'Yurakucho');
$lines = array_fill_keys($lines, array());
extract($lines);

var_dump($Ginza) 应该给你array(0) { }

【讨论】:

  • @Arif_suhail_123 抱歉,我没有关注您的问题,$Ginza 应该只是一个空数组。看看extract
  • $Ginza 将在第二个循环中使用,其中“填充”有时间表:
【解决方案2】:

使用array_combine。它可以组合两个数组,一个将是另一个数组的键。 我想你可以在这种情况下使用这个数组函数。

$lines = array(Ginza, Marunouchi, Hibiya, Tozai, Chiyoda, Yurakucho);
$some_values=array(abc,pqr,sdf,hjk,klj,Heiwadai);
$result=array_combine($lines,$some_values);

print_r($result);

然后使用这个数组的键和值

或使用

extract($result);

【讨论】:

    【解决方案3】:

    下面的代码应该可以解决您的问题

    $lines = array("Ginza" => array(1,2,3),
                   "Marunouchi"  => array(4,5,6),
                   "Hibiya" => "test3",
                   "Tozai" => "test4",
                   "Chiyoda" => "test5",
                   "Yurakucho" => array("Heiwadai", "test6"));
    extract($lines);
    var_dump($lines);
    var_dump($Yurakucho);
    

    【讨论】:

    • 谢谢,但是这些行将通过 url 查询放入一个数组中。所以,我不知道 $lines 数组中的实际名称。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-23
    • 1970-01-01
    • 1970-01-01
    • 2014-11-18
    • 1970-01-01
    • 1970-01-01
    • 2020-08-16
    相关资源
    最近更新 更多