定製指望我有一個字符串數組PHP如下:數組PHP
Tim Jones
Karl Smith
Tim Jones
T Jones
K Smith
Tim JONES
我想獲得每個陣列中的字符串中出現的次數的計數。我用array_count_values
。但它返回
Tim Jones : 2
Karl Smith : 1
T Jones : 1
K Smith : 1
Tim JONES : 1
但我只需要檢查的姓氏和名字也的第一個字母計數
Tim Jones : 4
Karl Smith : 2
任何建議,如何做到這一點。由於
編輯
這是一個比較正確的示例。如果數組是
Tim Jones
Karl Smith
Harry Jones
Tim Jones
T Jones
K Smith
Tim JONES
輸出應該
Tim Jones : 4
Karl Smith : 2
Harry Jones : 1
我不是那麼熟悉PHP。我碰到array_count_values
並嘗試過。但我需要做一些數組分割和搜索和計數。
基於克里斯代碼,這是我現在有
<?php
$names = array (
'Tim Jones',
'Karl Smith',
'Tim Jones',
'T Jones',
'K Smith',
'Tim JONES'
);
$counts = array();
$actualMap = array();
foreach ($names as $name) {
$last_name = strtolower(array_pop((explode(' ', $name))));
$first_name_letter = substr(strtolower(array_shift((explode(' ', $name)))), 0, 1);
$first_name = array_shift(explode(' ',$name));
$actualKey = $first_name . ' '. ucfirst($last_name);
$key = $first_name_letter . ' '. $last_name;
if (array_key_exists($key, $counts) === false){
$counts[$key] = 0;
$actualMap[$key] = $actualKey;
}
$counts[$key]++;
}
print_r($counts);
print_r($actualMap);
?>
我得到以下
Array ([t jones] => 4 [k smith] => 2) Array ([t jones] => Tim Jones [k smith] => Karl Smith)
我現在需要更換密鑰
使姓氏的數組,並調用'array_count_values'上那。 – Barmar 2014-09-03 20:14:04
告訴我們你到目前爲止做了什麼,你需要搜索姓氏,你需要姓氏作爲數組,然後使用http://php.net/manual/en/function.strpos.php – HADI 2014-09-03 20:17:37
http:// codepad.viper-7.com/E4kFgR – 2014-09-03 20:19:07