如何更改未知数组深度,以及如何在php数组?·;
我想把所有的小写字母改为大写字母(abcdefgh)。 我试过这个:如何更改未知数组深度,以及如何在php数组?·;,php,arrays,Php,Arrays,我想把所有的小写字母改为大写字母(abcdefgh)。 我试过这个: $ar = array(10, 102, 199, "a"=>array('B','c','d'=>array('e','f')),'g','h'); 我试着用这个来获取数组深度: function toto($arr,$depth='1'){ $tem=array(); foreach ($arr as $key => $value) { if(is_string($va
$ar = array(10, 102, 199, "a"=>array('B','c','d'=>array('e','f')),'g','h');
我试着用这个来获取数组深度:
function toto($arr,$depth='1'){
$tem=array();
foreach ($arr as $key => $value) {
if(is_string($value)){
$tem[]=strtoupper($value);
}elseif(is_array($value)&&array_depth($value)>1){
// $J=str_repeat('[]', (array_depth($value)));
$tem[]=array_map('strtoupper',$value);
}else{
$tem[]=$value;
}
}
return $tem;
}
如何实现这两件事?或许快速浏览一下PHP文档,您就可以使用以下功能:
function array_depth($array) {
$max_depth = 1;
foreach ($array as $value) {
if (is_array($value)) {
$depth = array_depth($value) + 1;
if ($depth > $max_depth) {
$max_depth = $depth;
}
}
}
return $max_depth;
}
用于将多维数据的每个级别上的每个字符串设置为大写。。。。然后你甚至不需要知道数组的深度你可以使用这个线性函数:
array_walk_recursive(
$ar,
function (&$value, $key) {
$value = strtoupper($value);
}
);
首先将其编码为json,然后再次调用并解码为数组
这样,您将获得大写的键和值。使用:-
你可以使用
递归
。在myexception中看到你的博客,然后来投票。为了再次获得数组,不是JSON字符串,但现在因为:我想把它们都从下到上a B C D E F G H,D是一个键,我不太确定OP是否也想要大写的键,没有迹象表明现有代码正在努力改变键的大小写;事实上,在现有代码中根本没有使用任何现有的键定义重建任何东西。这就是我为什么要写的原因:我不太确定,但D是OP数组中的键(只是小写)。。。让我们看看OP是什么意思谢谢,但是数组的深度不知道,楼上的答案是这样的。谢谢,我所有的未知friends@BoTong只是分享想法。
$ar = json_decode(strtoupper(json_encode($ar)),true);
function to_upper($n)
{
return(strtoupper($n));
}
$input = array('a','b','c');
$output = array_map("to_upper", $input);
print_r($output);