php基礎知識収集--配列、ファイル、文字列、ファイル、セッション

26531 ワード

1、配列の概念は何ですか.配列はインデックスによってどの2つに分けられますか?どのように区別しますか?配列の割り当て方法はどの2種類ありますか?
                     (     )
     (      , 0  )     (         )
            ?
             。
 1.  array()      ;
         key=>value           ,             ,         。
 2.         ,     array()  。  :
      $arr[0] = 1;
      $arr[1] = 2;
     :
                   (    0  ),         。
       : $array[3]    $array['3']            ,  $array['03']               。

2、配列はどのように遍歴しますか?
forforeach    ,          。    :foreach($arr as $key=>$value){}
 ③list each  while       

$arr = array(' ',' ',' ',' ',' ',' ',' ',' ');
while(list($k,$v)=each($arr)){
    echo $k,'~',$v,'
'
; }

3、listの使い方の一例を見てみましょう.
 

list($a,$b)=array(10,20);
echo $a,'~',$b,'
'
; // 10~20 ?>

変数のセットに値を割り当てることができます
もう一つの例を見てみましょう
 

list($a,$b,,$c)=array(2=>10,3=>20,4=>30,1=>40);
echo $a,'~',$b,'~',$c,'
'
; // notice~40~20 // $a notice: 0 ?>

一般的な考え方では、10~20~40はなぜこのnotice~40~20に戻るのでしょうか.答:これはlistの実行メカニズムに関して、listはこのように値を付与するまず:右の配列を気にしないで、Listの中の変数を見て、左から$a=arr[0]$b=arr[1]$c=arr[3]$c=arr[3]:右から左へ値を付与して、値を付与する順序は$c=arr[3]$b=arr[1]$a=arr[0]なので、$c=20$b=40はarr[0]がないので、$aは警告を与えた
4、foeach配列の場合、ポインタはどのように指しますか?List()/each()/while()ループ配列の場合、ポインタはどのように指しますか?
      foreach       ,                 。  foreach            ,        。
     each()     ,                                   。       each()    ,     reset().
    reset()                            。

5、どのように配列の長さを計算しますか(あるいは配列の中のすべての要素の個数を計算します)?文字列はどのように長さを取りますか?
 count() --           。
     count(   )  count(   ,1),        ,     1,              。
           0,           count()sizeof() -- count()strlen()mb_strlen();

6、配列に関連する常用関数はどれらがありますか?
 1) count --(sizeof  )—                       
    :int count ( mixed $var [, int $mode ] )  $var         ,             。  $mode     0. 1           
 2) in_array ( mixed $needle , array $haystack [, bool $strict ] ) —             。
     needle     ,          。
          strict     TRUE   in_array()        needle        haystack     。
 3) array_merge(array $array1 [, array $array2 [, array $... ]] )                ,                  。         。 
      :                 ,               。  ,          ,             ,       。 
                      ,             
 4)            
  (1)explode ( string $separator , string $string [, int $limit ] )                  。
  (2)implode ( string $glue , array $arr )                          。
  join   implode    
 5sort(array &$array [, int $sort_flags ]) —         ,                       。

7、配列連結関数array_merge()と配列加算$arr+$arr 2の違いは何ですか?
 array_merge()->  array_merge(),         ,         ,           ;           ,    ,  
          。
 "+"->        , array_merge()  ,                   ,            ,
                 ,                   。

8、echo(),print(),print_r()の違いは?
 (1)echo    ,Output one or more strings,     ;
 (2)print    ,         ,Output a string,print    ;
 (3)print_r    ,      。print_r          ,    stirng、int、float、array、object ,  array       ,print_r       true;  print_r    print_r($str,true) , print_r      print_r     。  ,  echo printechoprint

9、機能分類によって、どのような文字列処理関数がありますか?これらの関数の役割は何ですか.
 A.        
 (1)echo $a,$b,$c......;         ,          。
 (2)print($a)            。       1,     0
 (3)print_r($a)
 (4)var_dump($a);      、  、 
 B.             : trim  ltrim  rtrim(  :chop)          ,          。
 C.        :addslashes(),                                。   ,PHP      GET、POST   COOKIE        addslashes()addslashes(),           。              get_magic_quotes_gpc()     。
 D.           :strlen()
 E.            :substr()
 F.        : strstr() , strpos()
 G.        :str_replace()

10、次の質問の正解を教えてください.
     1).$arr = array('james', 'tom', 'symfony');  $arrecho implode(‘,’,$arr);
     2).$str = ‘jack,james,tom,symfony’;   $str ’,’  ,         $arr$arr = explode(‘,’,$str);
     3).$arr = array(3,7,2,1,’d’,’abc’);   $arr           ,        ?
      arsort($arr); print_r($arr);
      sort()                  。
      rsort()                  。
      asort()                         。
      arsort()                         。
      ksort()                      。
      krsort()                      。
 4).$mail = “gaofei@163.com”;        (163.com)      ,          ?
    echo strstr($mail,'163');
    echo substr($mail,7);
    $arr = explode("@",$mail); echo $arr[1];
    strstr      。 
    substr    ,      ,    
 5).         ,     “123234345,”。                  ?
     rtrim($str,",");
 6).             ?mt_rand()   rand()       ?
     mt_rand()

11、ページの文字が文字化けして、どのように解決しますか?
 1.                 。     meta     charset,   php           header()      charset;
   :
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 header(“content-type:text/html;charset=utf-8”);
 2.        (   charset),                              ,        ;
 3.             ,                             ,      ,   :mysql_query(“set names utf8”)。

12、正規表現は何ですか.phpでよく使われる正則に関連する関数はどれですか?
                        。             。
                            。
              ,          ,email、              。
  php                、  、       。

 preg        。       :

 string preg_quote ( string str [, string delimiter] )
                        :. \\ + * ? [ ^ ] $ ( ) { } = ! < > | :。
 preg_replace --              
 mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit] )
 preg_replace_callback --                   
 mixed preg_replace_callback ( mixed pattern, callback callback, mixed subject [, int limit] )
 preg_split --            
 array preg_split ( string pattern, string subject [, int limit [, int flags]] )

13、preg_replace()とstr_Ireplace()の2つの関数の使用にはどのような違いがありますか?preg_split()とsplit()関数はどのように使用しますか?
str_replace()                      
preg_replace --              
preg_ split()split()     preg_split()   ,                ,      ,      preg_split()

14、urlでgetで値を渡すとき、中国語が文字化けしたら、どの関数で中国語を符号化すればいいですか.
               ,        (      <script>alert(111);script>),php        ,      ?
   urlencode()       ,  urldecode()   。 
   htmlspecialchars($_POST[‘title’])                。

15、データベースに接続する操作の手順は何ですか.各ステップの戻り値は何のデータ型ですか?特にmysql_query()はどんなデータ型を返しますか?
mysql_connect($mysql_server_name, $mysql_username,$mysql_password);
mysql_query()    SELECT,SHOW,EXPLAIN   DESCRIBE            


  :
//    
define(DB_HOST, 'localhost');
define(DB_USER, 'root');
define(DB_PASS, '111111');
define(DB_DATABASENAME, 'test');
define(DB_TABLENAME, 't_student');
//       
$dbcolarray = array('id', 'name', 'age');

//mysql_connect
$conn = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die("connect failed" . mysql_error());
mysql_select_db(DB_DATABASENAME, $conn);

//        
$sql = sprintf("select count(*) from %s", DB_TABLENAME);
$result = mysql_query($sql, $conn);
if ($result)
{
    $count = mysql_fetch_row($result);
}
else
{
    die("query failed");
}
echo "   $count[0]    
"
; $sql = sprintf("select %s from %s", implode(",",$dbcolarray), DB_TABLENAME); $result = mysql_query($sql, $conn); // echo ''; // $thstr = ""; echo$thstr; // while ($row=mysql_fetch_array($result, MYSQL_ASSOC))// $row=mysql_fetch_assoc($result) { echo""; $tdstr = ""; foreach ($dbcolarrayas$td) $tdstr .= ""; echo$tdstr; echo""; } echo"
" . implode("", $dbcolarray) . "
$row[$td]
"
; mysql_free_result($result); mysql_close($conn);

16、mysql_fetch_row()とmysql_fetch_assoc()とmysql_fetch_arrayの違いは何ですか?
                    ,          ,                      ,           MYSQL_BOTH MYSQL_NUM  MYSQL_ASSOC    MYSQL_BOTH
 $sql =”select * from table1”;
 $result = mysql_query($sql);
 mysql_fetch_array($result, MYSQL_NUM);
 [      ](http://blog.csdn.net/havedream_one/article/details/51346564#t9)

17、ファイルを開く、閉じるのはそれぞれどんな関数ですか.ファイルの読み書きはどんな関数ですか.ファイルの削除はどの関数ですか?ファイルが存在するかどうかを判断する関数はどれですか?新しいディレクトリはどの関数ですか?
fopen()fclose()fgets(fp) file() get_file_contents(),fread()fwrite(),fputs(),file_put_contents()unlink()
            :file_exists
        :mkdir();
        :[      ](http://blog.csdn.net/havedream_one/article/details/51346564#t5)

18、ファイルのアップロードにはどのような詳細に注意する必要がありますか?ファイルを指定したディレクトリに保存するにはどうすればいいですか?アップロードファイルの重複問題を回避するにはどうすればいいですか?
 1.    php.ini       ;
 2. php.ini            ,   2MB。         ;
 3.          form     enctype="multipart/form-data"4.      method     post;
 5.    type="file"6.          MAX_FILE_SIZE、          ,            。
                  ,       +              ,        。
                ,              ,  move_uploaded_file(),               。

19、$_FILESは何次元配列ですか?第1次元と第2次元のインデックスの下には何が表示されますか?ファイルを一括アップロードする際に注意すべきことは何ですか?
namename/type/tmp_name/size/error.

20、会話制御とは何ですか.
                          。                     ,      ,             ,                ,                    。
                 cookie,session。

21、セッション追跡の基本手順
 1).              
 2).          
 3).      
 4).      

22、クッキーを使うときの注意事項は何ですか.
 1) setcookie()            ,    ,       ;
 2) setcookie() ,       $_COOKIE['cookiename']     ,                cookie ;
 3)        cookie    ,       cookie,        cookie   ,         cookie    300 ,         4kb,  web      cookie      20 。
 4) cookie        ,     cookie,  setcookie       。         cookie。

23、sessionとcookieの使用手順はそれぞれ何ですか?sesssionとcookieのライフサイクルとは何ですか?セッションとクッキーの違いは何ですか?
    cookie          ,          cookie,cookie           ,        cookie    。     cookie     ,       cookie              ,         cookie     。

    session                  。     session                 ,      sessionid,            。       sessionid      session        。

          session       , cookie     。session     , cookie    。

    session web            。                        ,                 ,              。              session  ,                       。  session             。

   session   :
 1.   session:
      session_start()     。
 2.$_SESSION3.     :
      session            ,                。
 4.1.    unset    session;
  2.  $_SESSION=array()   ,           ;
  3.  session_destroy()       session。

 cookie    ?
 1.            
 2.         
 3.      internet    cookies      ,           。
   cookie:
  setcookie(string cookiename , string value , int expire);
   cookie:
          $_COOKIE        cookie  。
   cookie:     
  1.      :
          ,      cookies,         cookie    。
  2.setcookie()  :
      cookie     ,     cookie      ,     0

24、クッキーの名前をusername、値をjackに設定し、このクッキーを1週間後に失効させるにはどうすればいいですか?1つのブラウザで最大何個のクッキーを生成できますか?各クッキーファイルは最大いくらを超えてはいけませんか?
 setcookie(‘username’,’jack’,time()+7*24*3600);
       20 cookie,       4K

25、sessionを設定または読み込む前に、何をする必要がありますか?
          php.ini   session.auto_start = 1        session_start();  session,session_start()         ,    。

26、実际の开発で、sessionはどんな场合に使いますか?
 session                  。
 1)          ,          session;
 2)         ,          session。

26、セッションセッションをログアウトする形式は何種類ありますか?
 unset() 
 $_SESSION=array();
 session_destroy();