Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.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_Associative Array - Fatal编程技术网

Php 如何从关联数组中获取值

Php 如何从关联数组中获取值,php,associative-array,Php,Associative Array,这是我的阵列: Array ( [0] => Array ( [0] => S No. [1] => Contact Message [2] => Name [3] => Contact Number [4] => Email ID ) [1] => Array

这是我的阵列:

Array
    (
        [0] => Array
        (
            [0] => S No.
            [1] => Contact Message
            [2] => Name
            [3] => Contact Number
            [4] => Email ID
        )

        [1] => Array
        (
            [0] => 1
            [1] => I am interested in your property. Please get in touch with me.
            [2] =>  lopa  <br/>(Individual)
            [3] => 1234567890
            [4] => <a href="mailto:loperea.ray@Gmail.com">loperea.ray@Gmail.com</a>
        )

        [2] => Array
        (
            [0] => 2
            [1] => This user is looking for 3 BHK Multistorey Apartment for Sale in Sohna, Gurgaon and has viewed your contact details.
            [2] =>  shiva  <br/>(Individual)
            [3] => 2135467890
            [4] => <a href="mailto:sauron82@yahoo.co.in">sauron82@yahoo.co.in</a>
        )
)
数组
(
[0]=>阵列
(
[0]=>S编号。
[1] =>联系信息
[2] =>名称
[3] =>联系电话
[4] =>电子邮件ID
)
[1] =>阵列
(
[0] => 1
[1] =>我对您的房产感兴趣。请与我联系。
[2] =>lopa
(个人) [3] => 1234567890 [4] => ) [2] =>阵列 ( [0] => 2 [1] =>该用户正在寻找位于古尔冈Sohna的3 BHK多层公寓,并查看了您的联系方式。 [2] =>湿婆
(个人) [3] => 2135467890 [4] => ) )

如何检索所有数据元素?

您可以在

您可以使用围绕要选择的键的方括号访问阵列
[key]

因此,
$array[1]
将为您提供:

Array
(
    [0] => 1
    [1] => I am interested in your property. Please get in touch with me.
    [2] =>  lopa  <br/>(Individual)
    [3] => 1234567890
    [4] => <a href="mailto:loperea.ray@Gmail.com">loperea.ray@Gmail.com</a>
)
或者,您可以使用或循环之类的循环遍历数组的元素

//非常适合于assoc阵列
foreach($key=>$element的数组){
变量转储($key,$element);
}
//具有无缝数字键的阵列的备选方案
$elementscont=count($array);
对于($i=0;$i<$elementscont;++$i){
变量转储($array[$i]);
}

多维数组中有整数索引元素。要从数组中访问单个元素,请使用数组名称及其索引
$myArray[1]
。要获取前一个选定数组的内部元素,请使用第二组
[index]
-
$myArray[1][5]
,依此类推

要从数组中动态获取所有元素,请使用嵌套的
foreach
循环:

foreach ($myArray as $key => $values) {
   foreach ($values as $innerKey => $value) {
       echo $value;
       // OR
       echo $myArray[$key][$innerKey];
   }
}
解决方案是使用:

首先,我们从输入数组的第一个元素获取头。然后我们减少输入

这就产生了:

$array = [['A', 'B', 'C'], ['a1', 'b1', 'c1'], ['a2', 'b2', 'c2'], ['a3', 'b3', 'c3']];
/*
  array(3) {
    'A' =>
    array(3) {
        [0] =>
        string(2) "a1"
        [1] =>
        string(2) "a2"
        [2] =>
        string(2) "a3"
      }
    'B' =>
    array(3) {
        [0] =>
        string(2) "b1"
        [1] =>
        string(2) "b2"
        [2] =>
        string(2) "b3"
      }
    'C' =>
    array(3) {
        [0] =>
        string(2) "c1"
        [1] =>
        string(2) "c2"
        [2] =>
        string(2) "c3"
      }
  }
*/

我想这就是你要找的

$array = Array
(
        0=> Array
        (
                0 => 'S No.',
                1 => 'Contact Message',
                2 => 'Name',
                3 => 'Contact Number',
                4 => 'Email ID'
        ),

        1 => Array
        (
                0 => 1,
                1 => 'I am interested in your property. Please get in touch with me.',
                2 =>  'lopa  <br/>(Individual)',
                3 => '1234567890',
                4 => '<a href="mailto:loperea.ray@Gmail.com">loperea.ray@Gmail.com</a>',
        ),

        2 => Array
        (
                0 => 2,
                1 => 'This user is looking for 3 BHK Multistorey Apartment for Sale in Sohna, Gurgaon and has viewed your contact details.',
                2 =>  'shiva  <br/>(Individual)',
                3 => '2135467890',
                4 => '<a href="mailto:sauron82@yahoo.co.in">sauron82@yahoo.co.in</a>',
        )
);

$result_array = array();
array_shift($array);
reset($array);

foreach($array as $x=>$array2){
    foreach($array2 as $i => $arr){     
        if($i == 1){
            $result_array[$x]['Contact Message'] = $arr;
        }elseif($i == 2){           
            $result_array[$x]['Name'] = $arr;
        }elseif($i == 3){           
            $result_array[$x]['Contact Number']  =$arr;
        }elseif($i == 4){           
            $result_array[$x]['Email ID'] = $arr;
        }
    }   
}

print_r($result_array);
$array=array
(
0=>数组
(
0=>“否”,
1=>“联系信息”,
2=>“名称”,
3=>“联系电话”,
4=>“电子邮件ID”
),
1=>数组
(
0 => 1,
1=>“我对您的房产感兴趣。请与我联系。”,
2=>“lopa
(个人)”, 3 => '1234567890', 4 => '', ), 2=>数组 ( 0 => 2, 1=>“此用户正在寻找位于古尔冈Sohna的3 BHK多层公寓出售,并查看了您的联系方式。”, 2=>“湿婆
(个人)”, 3 => '2135467890', 4 => '', ) ); $result_array=array(); 数组移位($array); 重置($阵列); foreach($x=>$array2的数组){ foreach($array2为$i=>$arr){ 如果($i==1){ $result_数组[$x]['Contact Message']=$arr; }elseif($i==2){ $result_数组[$x]['Name']=$arr; }elseif($i==3){ $result_数组[$x]['Contact Number']=$arr; }elseif($i==4){ $result_数组[$x]['Email ID']=$arr; } } } 打印(结果数组);
你所说的“元素方面”是什么意思?它是完整的数据,你已经得到了。你到底需要什么?现在我想要的是联系信息、姓名、联系号码、电子邮件ID的值。最终的输出是什么样的?我使用相同的方法,但没有得到结果
code
foreach($da数据){echo$da[0][1];}
/code
您是否在测试环境中打开了
display_errors
,并将
error_reporting
设置为
E_ALL
?如果在foreach循环中选择数组的元素,则数组中必须有3个级别。在你的问题数组中,我只看到两个级别。因此,您可能会尝试从字符串中选择一个条目。这将失败。但是激活错误,PHP会告诉您出了什么问题。
$header = array_map(
  function() { return []; }, 
  array_flip( array_shift( $array ) ) 
); // headers

array_reduce( $array , function ($carry, $item) {
  $i = 0;
  foreach( $carry as $k => $v ) {
    $carry[$k][] = $item[$i++];
  }
  return $carry;
}, $header );
$array = [['A', 'B', 'C'], ['a1', 'b1', 'c1'], ['a2', 'b2', 'c2'], ['a3', 'b3', 'c3']];
/*
  array(3) {
    'A' =>
    array(3) {
        [0] =>
        string(2) "a1"
        [1] =>
        string(2) "a2"
        [2] =>
        string(2) "a3"
      }
    'B' =>
    array(3) {
        [0] =>
        string(2) "b1"
        [1] =>
        string(2) "b2"
        [2] =>
        string(2) "b3"
      }
    'C' =>
    array(3) {
        [0] =>
        string(2) "c1"
        [1] =>
        string(2) "c2"
        [2] =>
        string(2) "c3"
      }
  }
*/
$array = Array
(
        0=> Array
        (
                0 => 'S No.',
                1 => 'Contact Message',
                2 => 'Name',
                3 => 'Contact Number',
                4 => 'Email ID'
        ),

        1 => Array
        (
                0 => 1,
                1 => 'I am interested in your property. Please get in touch with me.',
                2 =>  'lopa  <br/>(Individual)',
                3 => '1234567890',
                4 => '<a href="mailto:loperea.ray@Gmail.com">loperea.ray@Gmail.com</a>',
        ),

        2 => Array
        (
                0 => 2,
                1 => 'This user is looking for 3 BHK Multistorey Apartment for Sale in Sohna, Gurgaon and has viewed your contact details.',
                2 =>  'shiva  <br/>(Individual)',
                3 => '2135467890',
                4 => '<a href="mailto:sauron82@yahoo.co.in">sauron82@yahoo.co.in</a>',
        )
);

$result_array = array();
array_shift($array);
reset($array);

foreach($array as $x=>$array2){
    foreach($array2 as $i => $arr){     
        if($i == 1){
            $result_array[$x]['Contact Message'] = $arr;
        }elseif($i == 2){           
            $result_array[$x]['Name'] = $arr;
        }elseif($i == 3){           
            $result_array[$x]['Contact Number']  =$arr;
        }elseif($i == 4){           
            $result_array[$x]['Email ID'] = $arr;
        }
    }   
}

print_r($result_array);