php中取出数组键值的写法是 array_name[key]
key是数组的下标或数组对象的键名
例:$arr=array("a","b","c");
echo $arr[1]; //打印 b
$arr=array("a"=>"这是A","b"=>"这是B","c"=>"这是C");
echo $arr["b"]; //打印 这是B
你这个数据应该是json格式。在php中,要使用json_decode()解析成对象或者数组,这样子才方便使用。不过这里有个局限,举个例子:
$bad_json = "{ 'bar': 'baz' }"; // 键值对,要用双引号,单引号是无效的。所以返回null。
json_decode($bad_json); // null
你这里的数据刚好就是单引号包裹键名和数值的,所以用json_decode会返回null。
解决办法:
1、严格按照json的格式来构建这个数据,这样子就很方便的使用json_decode函数了。这应该是最有好的方法。建议先尝试这个。
2、对数据进行处理,单引号转成双引号,然后使用json_decode函数。这个要自己写个处理数据的函数。这里给出一个简单的处理,只是简单的替换,未考虑数据里面所含的单引号。
$data=str_replace("'", '"', $data); // 单引号替换成双引号$data=json_decode($data);
3、使用第三方类库
使用array_flip函数可以交换数组的键值,详细用法如下:
array_flip — 交换数组中的键和值
array array_flip( array $trans)array_flip() 返回一个反转后的 array,例如 trans 中的键名变成了值,而trans 中的值成了键名。
注意 trans 中的值需要能够作为合法的键名,例如需要是integer 或者 string。如果值的类型不对将发出一个警告,并且有问题的键/值对将不会反转。
如果同一个值出现了多次,则最后一个键名将作为它的值,所有其它的都丢失了。
参数:
trans:要交换键/值对的数组。
返回值:
成功时返回交换后的数组,如果失败返回 NULL。
<php
$result = array();
$a = array("21"=>"美术","22"=>"计算机"); //未写全
$b = array("3", "21"); //未写全
foreach($b as $value){
if(array_key_exists($value, $a)) array_push($result, $a[$value]);
}
var_dump($result);
//猜你想要得到以下结果array(1) { [0]=> string(4) "美术" }
前端用JQ 生成一个有字段名和值格式的键值对 的JSON 格式的字串 转码后 提交给后台的PHP 处理
代码如下
json_data+="\"emp_id\":\""+emp_id+"\",\"action_type\":\""+action_type+"\"})"
// $("#emp_no_id")val(json_data);
var json_data1=eval(json_data);
// var json_data1=json_data;
// $each(json_data1,function(item,value){
// alert(item+value);
// });
$ajax({
type: "post",//使用post方法访问后台
dataType: "text",//返回json格式的数据
url: "updata_empphp", //要访问的后台地址
data:json_data1,
ontentType:'utf8',
async:false,
success: function(msg){//msg为返回的数据,在这里做数据绑定
以上就是关于php如何取出数组中的一个值全部的内容,包括:php如何取出数组中的一个值、php 获取字符串内特定的值、php 键值和值互换位置,是什么方法的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)