PHP foreach数组只返回第一个字符
我在会话中有一个数组,如下所示:PHP foreach数组只返回第一个字符,php,Php,我在会话中有一个数组,如下所示: Array ( [0] => Array ( [0] => /storage/ssd3/334/5218334/tmp/php2swaoM [1] => Petty cash request form.png [2] => ../images/Petty cash request form.png ) [1] =>
Array
(
[0] => Array
(
[0] => /storage/ssd3/334/5218334/tmp/php2swaoM
[1] => Petty cash request form.png
[2] => ../images/Petty cash request form.png
)
[1] => Array
(
[0] => /storage/ssd3/334/5218334/tmp/phpISXPED
[1] => Business Advance Form.png
[2] => ../images/Business Advance Form.png
)
)
问题是,当我在数组中循环时,它只返回第一个字符,这是我的代码:
$array = $_SESSION["att_arr"];
$requestID = $_SESSION["requestID"];
foreach ($array as $key => $values) {
foreach ($values as $value) {
$filetmp = $value[0];
$filename = $value[1];
$filepath = $value[2];
//move_uploaded_file($filetmp,$filepath);
$insert_sql = "INSERT INTO attachments (name, location, request_id) VALUES ('$filename','$filepath','$requestID')";
if(mysqli_query($dbcon, $insert_sql)){
echo "done";
} else{
echo "ERROR: Could not able to execute $insert_sql. " . mysqli_error($dbcon);
}
}
}
这将循环内部数组中的每个项:
foreach ($values as $value) {
$filetmp = $value[0];
例如,在第一个循环中,$value
是/storage/ssd3/334/5218334/tmp/php2swoam
。执行$value[0]
时,它将返回第一个字符
这就是你做错的
如果所有内部数组都有固定的3项,我相信您可以省略内部循环。这是对内部数组中的每个项进行循环:
foreach ($values as $value) {
$filetmp = $value[0];
例如,在第一个循环中,$value
是/storage/ssd3/334/5218334/tmp/php2swoam
。执行$value[0]
时,它将返回第一个字符
这就是你做错的
如果所有内部数组都有固定的3项,我相信您可以省略内部循环。取出第二个foreach,将对
$value
的引用更改为$values
我来这里回答问题并提供建议,不确定您的第二个foreach的议程是什么,将对$value
的引用更改为$values
我来这里是为了回答问题和提供建议,不知道你的日程安排是什么