php 获取数组键名和键值

php 获取数组键名和键值,第1张

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_search

(PHP 4 >= 405, PHP 5, PHP 7)

array_search — 在数组中搜索给定的值,如果成功则返回首个相应的键名

说明

array_search ( mixed $needle , array $haystack [, bool $strict = false ] ) : mixed

大海捞针,在大海(haystack)中搜索针( needle 参数)。

参数

needle

搜索的值。

注意:

如果 needle 是字符串,则比较以区分大小写的方式进行。

haystack

这个数组。

strict

如果可选的第三个参数 strict 为 true,则 array_search() 将在 haystack 中检查完全相同的元素。 这意味着同样严格比较 haystack 里 needle 的 类型,并且对象需是同一个实例。

返回值

如果找到了 needle 则返回它的键,否则返回 false。

如果 needle 在 haystack 中出现不止一次,则返回第一个匹配的键。要返回所有匹配值的键,应该用 array_keys() 加上可选参数 search_value 来代替。

警告

此函数可能返回布尔值 false,但也可能返回等同于 false 的非布尔值。请阅读 布尔类型章节以获取更多信息。应使用 === 运算符来测试此函数的返回值。

更新日志

版本 说明

530 As with all internal PHP functions as of 530, array_search() returns null if invalid parameters are passed to it

这个可以使用for循环加上java的Map集合来做, 代码冗长,扩展性差,不推荐!!

推荐使用 阿里的fastjsonjar包 或者gson来处理 ;因为你提供的数据都是JSON格式的数据

以fastjson为例,参考代码如下

//使用fastjson包

import comalibabafastjsonJSON;

import comalibabafastjsonJSONArray;

import comalibabafastjsonJSONObject;

public class Test {

public static void main(String[] args) {

//json字符串

String jsonStr = "[{'a':1,'b':3,'c':5},{'a':1,'b':7,'c':9},{'a':2,'b':2,'c':3},{'a':1,'b':2,'c':3},{'a':2,'b':4,'c':5}]";

JSONArray objects = JSONparseArray(jsonStr);//字符串-->json数组

JSONArray oneAry=new JSONArray();//json数组

JSONArray twoAry=new JSONArray();//json数组

for (int i = 0; i < objectssize(); i++) {

JSONObject obj = (JSONObject) objectsget(i);

int avlue = (int) objget("a");//获取a的值

if(avlue==1){//如果是1,那么存入数组1

oneAryadd(obj);

}else if(avlue==2){

twoAryadd(obj);

}

}

JSONObject one=new JSONObject();

oneput("one", oneAry);//存入到json对象

JSONObject two=new JSONObject();

twoput("two", twoAry);

Systemoutprintln(one);

Systemoutprintln(two);

}

}

$arr = array('name'=>1111,'pass'=>222222);

$key = 'name';

if(array_key_exists($key, $arr))echo $arr[$key];

以上就是关于php 获取数组键名和键值全部的内容,包括:php 获取数组键名和键值、在数组中搜索给定的值,如果成功则返回首个相应的键名、java数组装换。。。如下等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存