如何从搜索结果中删除“ARRAY”一词。这是执行搜索的功能。另外,我从mysql数据库中提取数据。一切都很有效,除了在结果上打印“ARRAY”这个词。
<?php
$sql_statement = "SELECT title, type, pubdate, isbn ";
$sql_statement .= "FROM booklib ";
if($keyword != 'ALL') {
$sql_statement .= "WHERE title LIKE '%$keyword%' ";
}
$sql_statement .= "ORDER BY title, type, pubdate, isbn ";
$result = mysql_query($sql_statement);
$outputDisplay = "";
$myrowcount = 0;
if(!$result) {
selectResults($statement, $db);
} else {
if($keyword == 'ALL') {
$outputDisplay = "<h1>Current Titles: </h1>";
} else {
$outputDisplay = "<h1>Current Titles that match: '$keyword'</h1>";
}
$outputDisplay .= list($title, $type, $pubdate, $isbn) = explode('*', $line);
$numresults = mysql_num_rows($result);
for($i = 0; $i < $numresults; $i++) {
$myrowcount++;
$row = mysql_fetch_array($result);
$title = $row['title'];
$category = $row['type'];
$pub_date = $row['pubdate'];
$isbn = $row['isbn'];
$outputDisplay .= "<br>$myrowcount.$title";
$outputDisplay .= "<br>Category: $category";
$outputDisplay .= "<br>Publication Date: $pub_date";
$outputDisplay .= "<br>ISBN: $isbn</br>";
}
print $outputDisplay;
getServer();
}
答案 0 :(得分:1)
这条线就是这样做的:
$outputDisplay .= list($title, $type, $pubdate, $isbn) = explode('*', $line);
分配操作返回正在分配的值。 explode
返回一个分配给list
中变量的数组。基本上,除了在list
中分配变量的副作用之外,就好像你的代码是这样做的:
$outputDisplay .= explode('*', $line);
如果尝试将数组用作字符串,PHP会将数组转换为值为"array"
的字符串。此外,系统会生成通知,但可能不会显示通知,因为error_reporting
设置不允许输出E_NOTICE
错误。