来自json数组的php调用变量
从下面的代码中,我如何从数组中调用来自json数组的php调用变量,php,json,Php,Json,从下面的代码中,我如何从数组中调用poter的值,并将其设置在php变量中以用于另一个查询 我应该写什么来代替下面的? $ip = 1 ; $query = mysqli_query($con, "SELECT * FROM poems WHERE ip = '$ip' "); $json1 = array(); while($data = mysqli_fetch_assoc($query)) array_push($json1, array('title' => $data['poem
poter
的值,并将其设置在php变量中以用于另一个查询
我应该写什么来代替下面的?
$ip = 1 ;
$query = mysqli_query($con, "SELECT * FROM poems WHERE ip = '$ip' ");
$json1 = array();
while($data = mysqli_fetch_assoc($query))
array_push($json1, array('title' => $data['poem_title'],
'body' => $data['poem_body'],
'poet' => $data['poet'],
));
$poet = ???;
您只需要将该值分配给循环中的一个新变量。您的变量
$poter
将在循环后可用
$query = mysqli_query($con, "SELECT * FROM poems WHERE ip = '$ip'");
$json1 = array();
while ($data = mysqli_fetch_assoc($query)) {
array_push($json1, array(
'title' => $data['poem_title'],
'body' => $data['poem_body'],
'poet' => $data['poet']
));
$poet = $data['poet'];
}
// Your new variable is available
echo $poet
但是您在这里所做的并没有真正意义,因为如果您在多行数据中循环,$poter
将只等于循环结束时最后一行的值。它将在循环的每次迭代中被覆盖
$query = mysqli_query($con, "SELECT * FROM poems WHERE ip = '$ip'");
$json1 = array();
while ($data = mysqli_fetch_assoc($query)) {
array_push($json1, array(
'title' => $data['poem_title'],
'body' => $data['poem_body'],
'poet' => $data['poet']
));
$poet = $data['poet'];
}
// Your new variable is available
echo $poet
如果在数据库中,ip
是一个主键或唯一键,您可以保证只检索一行,那么您根本不想使用循环。您可以将其简化为:
$query = mysqli_query($con, "SELECT * FROM poems WHERE ip = '$ip'");
$json1 = mysqli_fetch_assoc($result);
$poet = $json1['poet'];
为什么不干脆
$poter=$data['poter']代码>???不工作,很明显,我想从while loopWell中取出变量如果它循环10次,那么您有10个子数组,每个子数组都有一个poter
。您想要哪一个?看起来OP知道查询的每一行中的poter
都是相同的值。我想是吧。如果是这样,那么$poter=$json1[0]['poter']
应该可以工作。它可以工作,非常感谢@GetSetyes,ip
是主要的,只检索到一行,实际上你的代码为我解决了很多问题。。谢谢