
你这个数据应该是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、使用第三方类库
对于 url ,可以使用 parse_url 函数来解析获取相应的部分,比如 host、path、query 等。按照你题目的要求,需要获取的是 query 部分,这部分又可以使用 parse_str 函数来解析,然后获取需要的参数,比如你这里的 id。
这里有一个函数,用于获取一个链接的URL的query部分,并解析成数组,可以很方便的通过键名来获取参数值。
// 解析 url,数组的形式返回 url 的 query 部分function getQuery($url='')
{
$url=trim($url);
if($url=='')
return false;
// 解析 url,获取 query 部分,它是一个字符串
$query=parse_url($url, PHP_URL_QUERY);
if($query===null)
return null;
// 解析 query 部分,将会保存到一个数组
parse_str($query, $params);
return $params;
}
// 使用举例
$url='id=24498704247'; // 你要解析的那个 url
$paras=getQuery($url); // array( 'id' => 24498704247)
echo $paras['id']; // 24498704247
1、可以通过>
<php
$source = array('a' => '111', 'b' => '222', 'c' => '33333', 'd' => '4444');
$needKey = array('a', 'c');
$needKey = array_flip($needKey); //调转键值使之可比。array('a'=>0, 'c'=>1)
$array = array_intersect_ukey($source,$needKey,'key_compare_func'); //array_intersect_ukey用回调函数比较键名来计算数组的交集
var_dump($array);
function key_compare_func($key1, $key2){
if ($key1 == $key2)
return 0;
else if ($key1 > $key2)
return 1;
else
return -1;
}
//End_php
$new_array = Array();
foreach( $data as $key => $val )
{
if( in_array( $val, $new_array ) )
{
echo $key;
continue;
}
else
{
$new_array[] = $val;
}
}
写法是这样写,不过建议将数据存入数据库,那样方便多了,还效率
arrforEach(function(items,index){
for(let ke in items){
if(items[ke] == 'blue'){
consolelog(ke)
}
}
})
以上就是关于php 获取字符串内特定的值全部的内容,包括:php 获取字符串内特定的值、100分求PHP获取图中链接URL中的ID数字值。、在servlet里怎样获得session的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)