我有这个数组,需要小写值并快速添加下划线,因为这可能包含数千个结果。我正在使用cakephp 3.0 beta btw。
到目前为止我所拥有的:
$a = [
(int) 0 => 'Dasdf',
(int) 1 => 'FasDfgh',
(int) 2 => 'CdfDhy',
(int) 3 => 'WrdTghte',
(int) 4 => 'StdFgh',
]
我意识到我可能会离开,但这些是我正在考虑使用的功能。我也意识到我的用法可能已经过时了。
$res = Hash::map($a, '{n}', array($this, 'noop'));
$underscore = Inflector::underscore('{Foo}');
$res = Hash::extract($a['{n}'] , Inflector::humanize($underscore) );
这是我需要的结果: $ a = [ (int)0 => ' dasdf&#39 ;, (int)1 => ' fas_dfgh&#39 ;, (int)2 => ' cdf_dhy&#39 ;, (int)3 => ' wrd_tghte&#39 ;, (int)4 => ' std_fgh&#39 ;, ]
答案 0 :(得分:1)
成千上万的结果应该不是什么大问题 - 这是非常轻松的逻辑。
$strings = array('Dasdf', 'FasDfgh', 'CdfDhy');
foreach($strings as &$string) {
$string = strtolower(Inflector::underscore($string));
}