【发布时间】:2020-02-14 01:17:31
【问题描述】:
假设我有一个如下所示的数组:
$sql = array("name"=>"Peter", "active"=>1 , "age"=>30)
和一个看起来像这样的循环:
for($i=0;$i<count($sql);$i++){
$value[$i] = ($sql[$i]);
echo $value[$i];
}
我希望循环遍历数组并将每个值分配给一个新变量。 在这段代码中,我试图让它将值存储在:
值1
值2
值3
但遗憾的是这不起作用,因此我在这里寻求帮助。 还是我得到一个关联数组而不是数字数组是一个问题? 我不想只在这个数组上使用这个循环,而是在其他具有不同键和长度的数组上使用这个循环。
编辑:我想我可能写得不够清楚,无法告诉你我想要达到的目标: 我想在循环结束时将三个字符串值不存储在数组中:
Variable1 应包含“Peter”
Variable2 应该包含“1”
Variable3 应包含“30”
另外我希望这个循环是动态的,不仅接受这个特定的数组,而且如果我要给它一个包含 100 个值的数组,我希望有 100 个不同的变量来存储这些值。
抱歉不够清楚,我还是 stackoverflow 的新手。
【问题讨论】:
-
$value1 应该包含 $sql[1] 的值吧?
-
是,或者更确切地说是本例中数组的第一个值“Peter”
-
Or is it a problem that i got an associative array instead of a numeric one?是的,这就是问题所在。您有密钥,但无法访问具有数字索引的位置。你必须给他们像echo $sql['name'];这样的密钥 -
我希望你不要介意我问,但你为什么要这样做?数组非常适合数据,并且提取到多个变量可能会使它变得笨拙。您打算如何处理这些变量?
-
我计划在各种 sql 查询(插入/删除/更新)中使用这些变量,据我所知,这需要字符串值相应地工作。