Php 在数组中查找并打印零件值

Php 在数组中查找并打印零件值,php,matomo,Php,Matomo,我有piwik访客数据的数据库。Piwik在仪表板中的关键字旁边显示关键字位置,但该值未保存在数据库中。Piwik通过搜索google Referer url中的“cd=”值动态显示位置,该值是给定关键字的关键字位置 我想在我的小组中也这样做 我从谷歌获得了所有的参考URL,然后通过&sign将其分解 我遇到的问题是,一些url字符串包含cd=作为第四个键,而另一些则作为第五个键 如何从这样的数组中查找和打印所有cd=值 Array ( [0] => http://www.goog

我有piwik访客数据的数据库。Piwik在仪表板中的关键字旁边显示关键字位置,但该值未保存在数据库中。Piwik通过搜索google Referer url中的“cd=”值动态显示位置,该值是给定关键字的关键字位置

我想在我的小组中也这样做

我从谷歌获得了所有的参考URL,然后通过&sign将其分解

我遇到的问题是,一些url字符串包含cd=作为第四个键,而另一些则作为第五个键

如何从这样的数组中查找和打印所有cd=值

Array
(
    [0] => http://www.google.com/url?sa=t
    [1] => rct=j
    [2] => q=keyword%20one
    [3] => source=web
    [4] => cd=1
    [5] => ved=0CC0QFjAA
    [6] => url=http%3A%2F%2Fwww.domain.com%2F
    [7] => ei=RqmrUbP0Muf1igKr_4GYAQ
    [8] =>
)



Array
(
    [0] => http://www.google.com.au/url?sa=t
    [1] => rct=j
    [2] => q=
    [3] => esrc=s
    [4] => source=web
    [5] => cd=3
    [6] => ved=0CDUQFjAC
    [7] => url=http%3A%2F%2Fwww.domain.com%2F
    [8] => ei=2nKsUbTYB8m3rgfNtoC4DA
    [9] => usg=AFQjCNEQgdDpqHBsfjeEBKoyKONAG-pepg
    [10] => bvm=bv.47244034,d.bmk
    [11] => cad=rja
)

谢谢

我建议使用
parse\u url
parse\u str

$parts = parse_url($url);
$query = array();
parse_str($parts["query"], $query);
然后,您可以使用访问“cd”值

$query["cd"];

名称令人恼火的
parse_str
解析查询字符串,可以改为:

$args = parse_str($queryStr);
$cd = $args['cd'];

您应该使用php函数
array\u search
。发件人:

array\u search-在数组中搜索给定的值,如果搜索成功,则返回相应的键

mixed array\u搜索(mixed$needle,array$haystack[,bool$strict=false])

示例:

<?php
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');

$key = array_search('green', $array); // $key = 2;
$key = array_search('red', $array);   // $key = 1;
?>

因为您的值存储在键4或键5中 $explode_数组=explode('=',arr[4]); 或 $explode_数组=explode('=',arr[5])

if($explode\u array[0]='cd')&&is\u numeric($explode\u array[1]))
echo“CD value=”.$explode_数组[1]

这不起作用,因为数组的值不仅仅是
cd
,而是
cd=someValue
,因此
array\u search
无法找到匹配的键。