1

我即将编写这段代码,它将数字存储在数据库中,例如它是 1、2、3、4。我知道如何将它存储在数据库等中,但我需要知道将这些数字从数据库中取出,每个人都可以将其用作变量。

示例:数据库有一个名为 IDs 的列,IDs 包含以下内容: 1,2,3,4,5 在 PHP 中,我想获取列 IDs 中的每个数字,因此每个数字都有一个变量。$变量 = 1; $变量 = 2; ETC

4

2 回答 2

2

explode()可以将字符串解析为一个变量数组,每个数字有一个数组元素。

$str = '1,2,3,4,5';
$arr = explode(',', $str);

echo $arr[0]; // 1
echo $arr[1]; // 2
echo $arr[2]; // 3
echo $arr[3]; // 4
echo $arr[4]; // 5

但是,通常不希望在数据库中存储 ID 字符串。通常有更好的数据库结构可以使用。

例如,通过使用附加表来关联其他两个表中的行:

customers ( id, name, date_of_birth )

customer_addresses ( id, line1, line2, town, city )

customer_address_assoc ( customer_id, customer_address_id )

使用explode 方法,您可能已经在客户表中存储了一个字段,例如address_ids。但是通过使用关联表,这是一个更好的结构。它更容易查询、更快并且通常更优化。关联表将为与客户关联的每个地址存储一行。

于 2013-10-14T07:10:16.030 回答
0

最好的方法是使用 foreach 循环,但这取决于您的需要。

这个例子呼应了你所有的数字:

<?php 

                            foreach($querynumberas $number){                                
                            $id = $number['id'];
echo $id;
}

?>

但这不会存储您需要的所有变量,因此为此您应该使用以下构造:

<?php 
for ($i = 1; $i <= array.lenght(); ++$i) {
   ${'number'.$i} = $number['number'.$i]; // it stores: number1 = 1; number2 = 7; ecc

    }

php?>
于 2013-10-14T07:15:29.200 回答