3

我想将此数组中的值转换为两个变量:

  • $标题
  • $网址

对于这些内部数组中的每一个。我该怎么做?

Array
(
[0] => Array
    (
        [0] => Reuters
        [1] => http://www.reuters.com
    )

[1] => Array
    (
        [0] => CNN
        [1] => http://www.cnn.com
    )
)
4

5 回答 5

1

这将为您提供两个包含您的标题和网址的数组:

foreach ($array as $value)
{
    $title[] = $value[0];
    $url[] = $value[1];
}

或者,如果您想将值转换为变量:

$title1 = $array[0][0];
$title2 = $array[1][0];

$url1 = $array[1][0];
$url2 = $array[1][1];
于 2012-08-27T11:45:28.877 回答
1

虽然 Anas 的回答应该有效,但我看不出分离数据的意义,因为它们显然属于一起(名字和 url 就像马和马车,爱情和婚姻......)

$input = array(array('CNN','http://www.cnn.com'),array('rubbish','http://www.fox.com'));
$grouped = array();
while($pair = array_shift($input))
{
    $grouped[$pair[0]] = $pair[1];
}
echo $grouped['rubbish'];//echoes http://www.fox.com

这种方法的好处?

  1. 原始数据在处理后是多余的,通过移位,您正在释放内存(数组正在被分解)。所以效率更高。
  2. 您的数据完整性在某种程度上得到了 IMO 的保证(名称和站点保持配对)。
  3. 如果需要,您仍然可以将所有名称和所有 url 作为单独的数字索引数组获取:

$title = array_keys($grouped);
$urls = array_values($grouped);
于 2012-08-27T12:02:28.327 回答
0
foearch ($yourArrayName as $innerArray){
 $title=$innerArray[0];
 $url=$innerArray[1];
 echo $title.'-'.$url;
}

这样,您首先迭代外部数组的元素,然后,您可以获得您感兴趣的每个值。

如果要存储所有元素,则必须创建一个新数组,但是,此时,为什么不“简单地”保留原始数组呢?

于 2012-08-27T11:46:51.477 回答
0

复制这段代码:

$title = array();
$url = array();

foreach ($array as $value)
{
    $title[] = $value[0];
    $url[] = $value[1];
}

print_r($title);
print_r($url);
于 2012-08-27T11:59:02.870 回答
0
<?php
    $titles=array();
    $urls=array();
    foreach($array as $key=>$value)
    {
       $titles[]=$value[$key][0];
       $urls[]=$value[$key][1];
    }
?>

使用此代码,您可以制作两个不同的一维数组数据,其中包含 n 个数组结构化数据。

于 2012-08-27T12:58:52.397 回答