2014-02-18 145 views
0

我找不到任何地方如何使用該密鑰的密鑰和字符長度進行數組。計數密鑰長度php

例子:

<?php 
$array = array("ab" => 145, "bassfasdf" => 13, "cdfsa" => 2684); 


print_r($array); 
?> 

我會把它想輸出這樣的:

Array 
(
    [ab] => 2 
    [bassfasdf] => 9 
    [cdfsa] => 5 
) 

有沒有人對如何做到這一點任何想法?

回答

2
$array = array("ab" => 145, "bassfasdf" => 13, "cdfsa" => 2684); 
foreach ($array as $key => &$value) { 
    $value = strlen($key); 
} 
+0

我覺得這樣的小白現在。謝啦!我正在用這個例子來說明如何通過用1-char符號替換大型和頻繁的單詞來縮小文本文件。 – joster222

0

可能是一個更短的方式:

$result = array_combine($keys=array_keys($array), array_map('strlen', $keys)); 
0

你可以使用一個array_map功能,或foreach循環,如下圖所示:

$array = array("ab" => 145, "bassfasdf" => 13, "cdfsa" => 2684); 
$keyLengths = array(); 
foreach ($array as $key=>$value) 
{ 
    $keyLengths[$key] = strlen($key); 
}