将关联数组的字符串值转换为整数



我得到了一个数组,如下所示。

我需要将值转换为整数

array:17 [
0 => array:2 [
"c" => "gmail"
"co" => "12"
]
1 => array:2 [
"c" => "dddd"
"co" => "2"
]
2 => array:2 [
"c" => "mmmmm"
"co" => "2"
]
3 => array:2 [
"c" => "dsf"
"co" => "2"
]
4 => array:2 [
"c" => "aaaa"
"co" => "1"
]
5 => array:2 [
"c" => "bbbb"
"co" => "1"
]
6 => array:2 [
"c" => "ccc"
"co" => "1"
]
7 => array:2 [
"c" => "yopmail"
"co" => "1"
]
8 => array:2 [
"c" => "yahoo"
"co" => "1"
]
]

我需要将键co的所有值转换为整数,当前它们是字符串。

这是使用foreach的方式,它没有给我正确的输出

foreach($getDashboardDetails as $getDashboardDetails)
{
$getDashboardDetails['co']=(int)$getDashboardDetails['co'];
}

希望有人能帮忙

我认为for循环更多的是你想要改变初始数组。

for($i=0;$i<=count($getDashboardDetails)-1;$i++) {
$getDashboardDetails[$i]["co"] = (int)$getDashboardDetails[$i]["co"];
$i++;
}

或者您可以在两个维度上将foreach与键值对一起使用,但我认为没有必要。

这可能会帮助你(假设$getDashboardDetails是源数组(:

foreach($getDashboardDetails as $key => $value) {
foreach($value as $key1 => $value1) {
if ($key1 === "co") {
$getDashboardDetails[$key][$key1] = (int)$getDashboardDetails[$key][$key1];
}
}
}

使用以下代码来获取它,您的foreach处于不正确的泡沫中。

$new_array = array();
foreach($getDashboardDetails as $key=>$value)
{
$new_array[$key]=array("c"=>$value['c'], "co"=>(int)$value['co']);
}

现在,您已经$new_array了预期的结果。

最新更新