php按索引

时间:2016-06-29 11:55:36

标签: c# php arrays

我试图通过项目的索引来解决数组中的特定项目,因为。我尝试过提取方法,但我的数组定义如下:

$var_array = array("color" => "blue",
               "size"  => "medium",
               "shape" => "sphere");

相反,我有:

 $contents = array();

填写while loop

c#中,我会这样做:

 string variable = contents[3];

如何在PHP?

中实现上述内容

编辑:  当我这样做时:

 $param1= $contents[0];
 echo "$param1";

我明白了:

  

注意:C:\ xampp \ htdocs \ NUSYS \ pars.php中的数组到字符串转换   第45行数组

修改2

显示print_r($contents);

Array ( [0] => Array ( [0] => bsd [1] => ghj ) ) 

3 个答案:

答案 0 :(得分:2)

你需要像下面这样做: -

$contents = Array ( [0] => Array ( [0] => bsd [1] => ghj ) ) ;//as you shown

$param1= $contents[0][0];
echo $param1; //outputs `bsd`

输出: -

  1. https://eval.in/597650
  2. https://eval.in/597663
  3. 注意: - 开始学习php基础知识。

    还有很多其他的可能性,做同样的事情: -

    $data = array_values($contents[0]);
    echo $data[0];
    

    输出: - https://eval.in/597673

答案 1 :(得分:0)

$var = $var_array[index];

在你的例子中:

  

$ var = $ var_array [3]   虽然索引3是空的,但是你从0开始计数,你有3个项目,所以最后一项是索引2

编辑: 你可以上传你的整个代码吗?数组+回声? 原因是你的数组中有数组?还是jsut字符串?

答案 2 :(得分:0)

如果你想要第n个值,那么使用array_values将你的命名键转换为数字键(在原始数组的副本中)

类似的东西:

$arr = array(); // your initially empty array
fill_it(); // some processing fills it with key=>value pairs
$item = array_values($arr)[2]; // pick up the third key (zero-indexed, then 2 is the 3rd key)
var_dump($item); // output to see it

并且为了完整起见,fill_it()函数可能如下所示:

// aux func
function fill_it() {
    global $arr;
    // dynamically fill the array
    $keys = array('color', 'size', 'shape');
    $values = array('blue', 'medium', 'sphere');
    foreach ($keys as $key) {
        $arr[$key] = array_shift($values);
    }
    //var_dump($arr);
}