数密钥长度php

I can't find anywhere how to make an array with the keys and the character length of that key.

Example:

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


print_r($array);
?>

I would like it to output this:

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

Does anyone have any idea on how to do that?

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

Might be a shorter way:

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

You could use an array_map function, or a foreach loop as shown below:

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