2017-04-16 38 views
0

在php 7中,是否可以使用循环构造一个定义define作为数组?Php7使用循环构造'define'方法;可能吗?

例子:define("CUSTOMER", ["name1", "name2", "name3", "name4"]);

我想尝试喜欢的东西:

//FROM EXTERNAL USER CLASS: $user = new $User;

$sql="SELECT * FROM table"; 

$results = $user->db->query($sql); 
$i = 1; 
while($row = $results->fetch_assoc()){ 
    define("CUSTOMER", [ 
     $i => $row['first_name'].' '.$row['last_name'], 
    ]); 
$i++; 
} 

我试图使这项工作,但似乎无法得到逻辑正确的。 尽管数据库中有多个条目,但我只能从循环中获得一个结果。

var_dump($ rows);显示查询很好,但是这个问题似乎是在构建define数组中的迭代。

任何想法?

+0

也许有人可以更详细地解释为什么这个问题会被投票。我知道我没有提供小提琴,并且我的逻辑,就我的PHP方法而言,充其量是新手。无知是毕竟这台机器背后的驱动力,被称为'stackoverflow'... –

回答

2

像这样使用它。创建一个你想定义的array,然后用它来定义常量。当你有多行时,代码中的问题就来了。

<?php 

ini_set('display_errors', 1); 
$sql = "SELECT * FROM table"; 

$results = $user->db->query($sql); 
$constantArray=array(); 
while ($row = $results->fetch_assoc()) 
{ 
    $constantArray[]=$row['first_name'] . ' ' . $row['last_name']; 
} 

define("CUSTOMER", $constantArray); 
+0

谢谢。这现在工作很好。 –

+0

@dalelandry欢迎.... :) –