使用休息显示详细信息
using rest show details
使用 rest 想要显示有关项目的详细信息,但功能代码中存在错误,但根据我的说法是正确的,但第 7 行有错误。我有两个代码,它们如下
index.php
<?php
header("content-Type:application/json");
include("function.php");
if(!empty($_GET['name'])){
$name = $_GET['name'];
$price = get_price($name);
if(empty($price))
deliver_response(200,"book not found",NULL);
else
deliver_response(200,"book found",price);
}
else{
deliver_response(400,"invalid",NULL);
}
function deliver_response($status,$status_message,$data)
{
header("HTTP/1.1 $status $status_message");
$response['status']=$status;
$response['status_message']=$status_message;
$response['data']=$data;
$json_response=json_encode($response);
echo $json_response;
}
?>
功能码
<?php
function get_price($find)
{
$books = array(
"java" => 300,
"c" => 250,
"php" => 350);
for($books as $book => $price) {
if($books == $find) {
return $price;
break;
}
}
}
?>
这里需要改一下,把books
改成book
if($book==$find)
{
return $price;
break;
}
同时更改 foreach
而不是 for
其 foreach
语法检查本手册:http://php.net/manual/en/control-structures.foreach.php
您需要使用 foreach
循环,而不是 for
循环。而且你不需要休息,因为它永远不会达到它。此外,循环内的 books
必须是 book
,否则您将与数组而不是键进行比较。
foreach($books as $book => $price) {
if($book == $find) {
return $price;
}
}
在您的 if 语句中使用 foreach 循环代替 for 循环,使用 $book 代替 $books。
foreach ( $books AS $book => $price ) {
if ( $book == $find ) {
return $price;
}
}
使用 rest 想要显示有关项目的详细信息,但功能代码中存在错误,但根据我的说法是正确的,但第 7 行有错误。我有两个代码,它们如下 index.php
<?php
header("content-Type:application/json");
include("function.php");
if(!empty($_GET['name'])){
$name = $_GET['name'];
$price = get_price($name);
if(empty($price))
deliver_response(200,"book not found",NULL);
else
deliver_response(200,"book found",price);
}
else{
deliver_response(400,"invalid",NULL);
}
function deliver_response($status,$status_message,$data)
{
header("HTTP/1.1 $status $status_message");
$response['status']=$status;
$response['status_message']=$status_message;
$response['data']=$data;
$json_response=json_encode($response);
echo $json_response;
}
?>
功能码
<?php
function get_price($find)
{
$books = array(
"java" => 300,
"c" => 250,
"php" => 350);
for($books as $book => $price) {
if($books == $find) {
return $price;
break;
}
}
}
?>
这里需要改一下,把books
改成book
if($book==$find)
{
return $price;
break;
}
同时更改 foreach
而不是 for
其 foreach
语法检查本手册:http://php.net/manual/en/control-structures.foreach.php
您需要使用 foreach
循环,而不是 for
循环。而且你不需要休息,因为它永远不会达到它。此外,循环内的 books
必须是 book
,否则您将与数组而不是键进行比较。
foreach($books as $book => $price) {
if($book == $find) {
return $price;
}
}
在您的 if 语句中使用 foreach 循环代替 for 循环,使用 $book 代替 $books。
foreach ( $books AS $book => $price ) {
if ( $book == $find ) {
return $price;
}
}