【发布时间】:2015-05-22 04:45:52
【问题描述】:
我有一个包含 50 个索引值的数组。我在print_r($result); 之后得到的数组的一部分是
Array
(
[0] => Array
(
[ClassScheduleID] =>
[Location] => Array
(
[Latitude] =>
)
[ClassDescription] =>
(
[ImageURL] =>
[Level] =>
(
[Name] =>
)
[Program] =>
(
[Name] =>
)
)
[Staff] => Array
(
[FirstName] =>
)
)
[1] => Array
(
[ClassScheduleID] =>
[Location] => Array
(
[Latitude] =>
)
[ClassDescription] =>
(
[ImageURL] =>
[Program] =>
(
[Name] =>
)
)
[Staff] => Array
(
[FirstName] =>
)
)
[2] => Array
(
[ClassScheduleID] =>
[Location] => Array
(
[Latitude] =>
)
[ClassDescription] =>
(
[ImageURL] =>
[Program] =>
(
[Name] =>
)
)
[Staff] => Array
(
[FirstName] =>
)
)
)
我已经通过以下代码(部分代码)从数组中取出数据
if (!empty($result))
{
foreach ($result as $res)
{
$classscheduleid = $res['ClassScheduleID'];
if(isset($res['Location']))
{
$l_latitude = $res['Location']['Latitude'];
}
if(isset($res['ClassDescription']))
{
$c_img = $res['ClassDescription']['ImageURL'];
}
if(isset($res['ClassDescription']['Level']))
{
$c_l_name = $res['ClassDescription']['Level']['Name'];
}
if(isset($res['ClassDescription']['Program']))
{
$c_p_name = $res['ClassDescription']['Program']['Name'];
}
if(isset($res['Staff']))
{
$s_firstname = $res['Staff']['FirstName'];
}
$sql = "INSERT INTO class_detail (classscheduleid,l_latitude,c_img,c_l_name,c_p_name,s_firstname) VALUES ('".$classscheduleid."','".$l_latitude."',,'".$c_img."','".$c_l_name."','".$c_p_name."','".$s_firstname."')";
if (mysqli_query($conn, $sql)) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
}
}
我面临的问题是,当我尝试在数据库中插入值时,它没有插入前 8 个索引值,而是开始从 [9] 位置保存值。我正在正确获取所有数据,因为我已经通过回显所有变量进行了检查。谁能告诉我如何在数据库中正确保存数组的值
【问题讨论】:
-
这是因为 'ClassScheduleID' 在前 8 个结果中为 NULL。使 classescheduleid 列接受空值
-
@manoj ClassScheduleID 不为空,我打印了结果,我得到了每个数组的结果
-
你得到了多少结果
标签: php arrays for-loop multidimensional-array foreach