<!--显示图书列表-->
 <html>
 <head>
 <title>图书列表</title>
 </head>
 <?php
  $books_array=array(
    array( "name"=>"我的2005",
           "price"=>20.00,
           "author"=>"wang" ),
    array("name"=>"家庭烹饪技术",
          "price"=>18.23,
          "author"=>"zhang"),
    array("name"=>"西方哲学史",
          "price"=>34.99,
          "author"=>"zhou"), 
    array("name"=>"三侠武艺",
          "price"=>11.45,
          "author"=>"wu"), 
    array("name"=>"象棋23式",
          "price"=>22.50,
          "author"=>"bao"),          
 )
 
  //compare_name
 function compare_name($array1,$array2){
  return strcmp($array1[name],$array2[name]);
}
//compare_price
 function compare_price($array1,$array2){
  return ($array1[price]-$array2[price]);
}
//compare_author
 function compare_author($array1,$array2){
  return strcmp($array1[author],$array2[author]);
}//在页面上显示图书列表
 function show_books(&$books_array){
  if(count($books_array)){
      foreach($books_array as $key=>$value){
        echo "<tr><td>$key</td><td>书名:$value[name]</td></tr>";
        echo "<tr><td></td><td>价格:$value[price]</td></tr>";
        echo "<tr><td></td><td>作者:$value[author]</td></tr>";
       }//foreach,遍历数组
  }//if
  }//show_books
 ?>
 <body>
  <? php
    echo "<h2>本书房共有".count($books_array)."本</h2>";
    //按照所选择的顺利显示
    switch($_post["by_what"]){
     case "by_price";
       echo "按价格排序";break;
     case "by_name"; 
       echo "按书名排序";break; 
     case "by_author";
       echo "按作者排序";break;  
     }
   
  ?>
  <table width="600" border=1>
    <tr>
      <td width="10%">序号</td>
      <td width="90%">图书信息</td>
    </tr>
    <?php
      switch($_post["by_what"]){
       case "by_price";
          usort($books_array,"compares_price");break;
       case "by_author";
          usort($books_array,"compares_author");break;
       case "by_name";
          usort($books_array,"compares_name");break;      
       }
       show_books($books_array);
    ?>
    <table>
    <form action="?php echo $php_self;?" method="post">
        请选择排序方式:
                       <select name="by_what">
                           <option disable>请选择……</option>
                           <option value="by_price">按价格排序</option>             
                           <option value="by_author">按作者排序</option>
                           <option value="by_name">按书名排序</option>
                        </select>   
          <input type="submit" name="ok" value="显示">                 
    </form>    
  </table>
 </body>
 </html>这段程序是我从书上抄下来的,但是运行的时候老是提示我第一个FUNCTION 那句有错,但是找不到错在什么地方啊?
帮帮忙,谢谢

解决方案 »

  1.   

    <html>
     <head>
     <title>图书列表</title>
     </head>
     <?php
      $books_array=array(
        array( "name"=>"我的2005",
               "price"=>20.00,
               "author"=>"wang" ),
        array("name"=>"家庭烹饪技术",
              "price"=>18.23,
              "author"=>"zhang"),
        array("name"=>"西方哲学史",
              "price"=>34.99,
              "author"=>"zhou"), 
        array("name"=>"三侠武艺",
              "price"=>11.45,
              "author"=>"wu"), 
        array("name"=>"象棋23式",
              "price"=>22.50,
              "author"=>"bao"),          
     );
     
      //compare_name
     function compare_name($array1,$array2){
      return strcmp($array1[name],$array2[name]);
    }
    //compare_price
     function compare_price($array1,$array2){
      return ($array1[price]-$array2[price]);
    }
    //compare_author
     function compare_author($array1,$array2){
      return strcmp($array1[author],$array2[author]);
    }//在页面上显示图书列表
     function show_books(&$books_array){
      if(count($books_array)){
          foreach($books_array as $key=>$value){
            echo "<tr><td>$key</td><td>书名:$value[name]</td></tr>";
            echo "<tr><td></td><td>价格:$value[price]</td></tr>";
            echo "<tr><td></td><td>作者:$value[author]</td></tr>";
           }//foreach,遍历数组
      }//if
      }//show_books
     ?>
     <body>
      <?php
        echo "<h2>本书房共有".count($books_array)."本</h2>";
        //按照所选择的顺利显示
        switch($_post["by_what"]){
         case "by_price";
           echo "按价格排序";break;
         case "by_name"; 
           echo "按书名排序";break; 
         case "by_author";
           echo "按作者排序";break;  
         }
       
      ?>
      <table width="600" border=1>
        <tr>
          <td width="10%">序号</td>
          <td width="90%">图书信息</td>
        </tr>
        <?php
          switch($_post["by_what"]){
           case "by_price";
              usort($books_array,"compares_price");break;
           case "by_author";
              usort($books_array,"compares_author");break;
           case "by_name";
              usort($books_array,"compares_name");break;      
           }
           show_books($books_array);
        ?>
        <table>
        <form action="?php echo $php_self;?" method="post">
            请选择排序方式:
                           <select name="by_what">
                               <option disable>请选择……</option>
                               <option value="by_price">按价格排序</option>             
                               <option value="by_author">按作者排序</option>
                               <option value="by_name">按书名排序</option>
                            </select>   
              <input type="submit" name="ok" value="显示">                 
        </form>    
      </table>
     </body>
     </html>