Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 下划线和小写的数组字符串_Arrays_String_Cakephp_Cakephp 2.0_Cakephp 3.0 - Fatal编程技术网

Arrays 下划线和小写的数组字符串

Arrays 下划线和小写的数组字符串,arrays,string,cakephp,cakephp-2.0,cakephp-3.0,Arrays,String,Cakephp,Cakephp 2.0,Cakephp 3.0,我有这个数组,需要将值小写并快速添加下划线,因为这可能包含数千个结果。我使用的是CakePHP3.0测试版 到目前为止,我所拥有的: $a = [ (int) 0 => 'Dasdf', (int) 1 => 'FasDfgh', (int) 2 => 'CdfDhy', (int) 3 => 'WrdTghte', (int) 4 => 'StdFgh', ] 我意识到我可能有点不对劲,但这些是我正在考虑使用的函数。我也意

我有这个数组,需要将值小写并快速添加下划线,因为这可能包含数千个结果。我使用的是CakePHP3.0测试版

到目前为止,我所拥有的:

$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, (int)1=>“fas_dfgh”, (int)2=>“cdf_dhy”, (int)3=>“wrd_tghte”, (int)4=>std_fgh,
]

成千上万的结果应该不是什么大问题——这是非常简单的逻辑

$strings = array('Dasdf', 'FasDfgh', 'CdfDhy');
foreach($strings as &$string) {
    $string = strtolower(Inflector::underscore($string));
}

非常感谢这个例子!很好!