Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中从数组中获取变量_Php_Arrays_Multidimensional Array - Fatal编程技术网

在PHP中从数组中获取变量

在PHP中从数组中获取变量,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我希望将此数组中的值转换为两个变量: $title1 = $array[0][0]; $title2 = $array[1][0]; $url1 = $array[1][0]; $url2 = $array[1][1]; $title $url 对于每个内部数组。我怎么做 Array ( [0] => Array ( [0] => Reuters [1] => http://www.reuters.com ) [1] =

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

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

$url1 = $array[1][0];
$url2 = $array[1][1];
  • $title
  • $url
对于每个内部数组。我怎么做

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

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

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

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];
这样,您首先迭代外部数组的元素,然后可以得到您感兴趣的每个值


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

复制此代码:

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

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

print_r($title);
print_r($url);

虽然Anas的回答应该有效,但我看不出将数据分开有什么意义,因为它们显然是属于一起的(名称和url就像马和马车、爱情和婚姻……)

这种方法的好处是什么

  • 原始阵列在处理后是冗余的,通过移位,您正在释放内存(阵列正在被拆分)。所以它更有效
  • IMO(名称和站点保持配对)更能保证您的数据完整性
  • 如果需要,您仍然可以将所有名称和所有URL作为单独的数字索引数组获取:

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

    您应该阅读一些关于。
    $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
    
    $title = array_keys($grouped);
    $urls = array_values($grouped);
    
    <?php
        $titles=array();
        $urls=array();
        foreach($array as $key=>$value)
        {
           $titles[]=$value[$key][0];
           $urls[]=$value[$key][1];
        }
    ?>