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 获取数组键名和键值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)