Gab*_*lli 0 php arrays session multidimensional-array
我在PHP中做了一个多步骤表单,将数据存储在一个多维数组中(我在$_SESSION数组中创建了一个数组并将其命名为$_SESSION['inserimento'])
然后我有$_SESSION['inserimento']['name'],$_SESSION['inserimento']['city']......
我想strtolower()在将它们添加到mysql之前将该函数应用于所有值
我试过这段代码,但它不起作用
foreach ($_SESSION['inserimento'] as $k=>$v){
$v=strtolower($v);
}
Run Code Online (Sandbox Code Playgroud)
我想我误解了如何在多维数组上进行循环.
使用array_map()将函数应用于数组中的所有元素:
$_SESSION['inserimento'] = array_map('strtolower', $_SESSION['inserimento']);
Run Code Online (Sandbox Code Playgroud)
或者常规的foreach循环(循环内部$v是副本,因此您需要影响原始数组):
foreach ($_SESSION['inserimento'] as $k => $v) {
$_SESSION['inserimento'][$k] = strtolower($v);
}
Run Code Online (Sandbox Code Playgroud)
或者带参考的foreach循环($v不再是副本,它是对原始元素的引用):
foreach ($_SESSION['inserimento'] as &$v) {
$v = strtolower($v);
}
unset($v); // remember to unset, or $v will still be a reference to the last element after the loop
Run Code Online (Sandbox Code Playgroud)