PHP获取数组下标的问题

PHP获取数组下标的问题,第1张

PHP 获取数组指定值的位置或下标代码如下:

<php

  //定义一个数组

  $array = array(0 => 'a', 1 => 'b', 2 => 'c', 3 => 'd');

  //使用 array_search('要搜索的值',数组);

  $key = array_search('b', $array); // $key = 1;

  $key = array_search('a', $array);   // $key = 0;

>

扩展资料

php 中的数组实际上是一个有序图。图是一种把 values 映射到 keys 的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组来使用,或列表(矢量),散列表(是图的一种实现),字典,集合,栈,队列以及更多可能性。

因为可以用另一个 php 数组作为值,也可以很容易地模拟树。解释这些结构超出了本手册的范围,但对于每种结构至少会发现一个例子。要得到这些结构的更多信息,建议参考有关此广阔主题的外部著作。

对于任何的类型:整型、浮点、字符串、布尔和资源,如果将一个值转换为数组,将得到一个仅有一个元素的数组(其下标为 0),该元素即为此标量的值。如果将一个对象转换成一个数组,所得到的数组的元素为该对象的属性(成员变量),其键名为成员变量名。

如果将一个 NULL 值转换成数组,将得到一个空数组。

一、首先把数组赋予一个变量,如:

$arr=Array('0'=>'a','1'=>'b','2'=>'c');

二、取出数组的值

取第一个值:$arr[0]

取第二个值:$arr[1]

取第三个值:$arr[2]

取值的方法是通过引用下标号来访问某个值。

程序代码如下:

运行结果如下:

扩展资料

设置 PHP 常量

设置常量,使用 define() 函数,函数语法如下:

bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )

该函数有三个参数:

name:必选参数,常量名称,即标志符。

value:必选参数,常量的值。

case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。

我们创建一个 区分大小写的常量,,常量值为 "欢迎访问"的例子:

<php

// 区分大小写的常量名

define("GREETING", "欢迎访问");

echo GREETING;    // 输出 "欢迎访问"

echo '<br>';echo greeting;   // 输出 "greeting"

>

参考资料来源:百度百科-php数组

array_keys、array_values两个函数专门执行这一的功能~~~

例如:

<php

$array = array("size" => "XL", "color" => "gold");

print_r(array_values($array));

>

会输出:

Array

(

[0] => XL

[1] => gold

)

再例如:

<php

$array = array(0 => 100, "color" => "red");

print_r(array_keys($array));

$array = array("blue", "red", "green", "blue", "blue");

print_r(array_keys($array, "blue"));

$array = array("color" => array("blue", "red", "green"),

"size" => array("small", "medium", "large"));

print_r(array_keys($array));

>

以上例程会输出:

Array

(

[0] => 0

[1] => color

)

Array

(

[0] => 0

[1] => 3

[2] => 4

)

Array

(

[0] => color

[1] => size

)

array_key_first

(PHP 7 >= 730)

array_key_first — 获取指定数组的第一个键值

说明

array_key_first ( array $array ) : mixed

取得指定数组的 array 第一个键值,不影响到原数组的内部指针。

参数

array

要 *** 作的数组。

返回值

返回 array 的第一个键值(如果不为空),否则返回 null。

范例

示例 #1 array_key_first() 基本用法

1, 'b' => 2, 'c' => 3];

$firstKey = array_key_first($array);

var_dump($firstKey);

>

以上例程会输出:

string(1) "a"

希望我的回答是准确的

1全等比较的意思是检查数据类型,比如有这么一个数组:$a1 = array(10,20,30,"10"),如果你array_keys($a1,"10",false),则会返回两个值,因为在数组中存在一个int和一个string,最终值都是10;但是如果第三个参数设置为true,那么会判断查询的值的类型是否存在于数组中,这时候返回值就不同了。可以亲自尝试一下

2关于索引的这个例子,PHP中的数组都是有索引的,如果你没有加索引,那么默认会给你加上。

例如:

$arr2=array(

'sunday',

'saturday',

'monday',

'sunday',

'sunday',

);

这种写法是缩减的,它完整的写法应该是

$arr2=array(

0 => 'sunday',

1 => 'saturday',

2 => 'monday',

3 => 'sunday',

4 => 'sunday',

);

这样。array_keys找出所有此数组中的键值,那么如果不带参数,则会返回0,1,2,3,4这样的。而返回值又是一个数组,所以PHP把返回的键值存放在一个数组中。这样你就会混乱。这个例子不好,我们举另外一个例子:

比如现在有个数组:

$a = array(

'id' => 1,

'name' => wang,

'image' => 'touxiangjpg'

);

那么,array_keys返回的结果应该是

array(

0 => 'id',

1 => 'name',

2 => 'image'

)

因为你取出键值时PHP会默认存为一个数组,所以会产生某个数组键值的键值,但是这个键值只是默认加上的,是PHP的数组特性,并不需要特别关心。

foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。有两种语法:

foreach (array_expression as $value)

   statement

foreach (array_expression as $key => $value)

   statement

第一种格式遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。

第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量 $key。

范例:

$a = array(    "one" => 1,    "two" => 2,    "three" => 3,    "seventeen" => 17);foreach ($a as $k => $v) {    echo "\$a[$k] => $v\n";}

这个怎么说呢

就算是要取某一个特定的值,你也要有相应的根据啊,就是说,你要取的这个值,是你所需要的,而这个需要的值有某些特点好让你来判断是不是你需要的那个。

你总不能说,无论这个数组是什么,你需要的就是第三个,如果是这样,那就好办了,可以在遍历的时候判断是不是位于第三位

function

get3(){

$i=0;

foreach($a

as

$key=>$value){

if($i==2)

{

$k

=

$key;

break;

}

$i++;

}

return

array($key=>$value);

}

以上就是关于PHP获取数组下标的问题全部的内容,包括:PHP获取数组下标的问题、php里如何把 数组里的指定元素给取出来、php 获取数组键名和键值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9589396.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存