0

piwik 訪問者データを含むデータベースがあります。Piwik はダッシュボードのキーワードの横にキーワードの位置を表示していますが、この値はデータベースに保存されていません。Piwik は、特定のキーワードのキーワード位置である "cd=" 値の Google リファラー URL を検索することにより、位置を動的に表示しています。

私は自分のパネルで同じことをしたいと思います。

Google からすべての参照 URL を取得し、それらを & 記号で展開しています。

私が抱えている問題は、一部の URL 文字列に cd= が 4 番目のキーとして含まれ、一部が 5 番目のキーとして含まれていることです。

そのような配列からすべての 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
)

ありがとう

4

4 に答える 4

2

で分割する代わりに、 andを&使用することをお勧めしますparse_urlparse_str

$parts = parse_url($url);
$query = array();
parse_str($parts["query"], $query);

次に、次を使用して「cd」値にアクセスできます

$query["cd"];
于 2013-06-14T15:55:29.527 に答える
0

php 関数を使用する必要がありますarray_search公式ドキュメントから:

array_search — 指定された値の配列を検索し、成功した場合は対応するキーを返します

mixed array_search ( 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;
?>
于 2013-06-14T15:58:32.510 に答える
0

あなたの値はキー4またはキー5に格納されているので または $explode_array = destroy('=', arr[5]);

if(($explode_array[0] == 'cd') && is_numeric($explode_array[1])) echo "CD 値 = ".$explode_array[1];

于 2013-06-14T15:59:10.317 に答える