① 如何在php中使用內部類
方法如下:
public class Lei{
public static void main(String ages[]){
Leis x=new Leis();
}
public static class Leis{
public Leis(){
System.out.println("asd");
}
}
}
主函數調用的是靜態方法,內部類要定義為static,Leis()為構造方法,用來初始化成員變數,不能用「x.Leis()」
② php中常用的魔術方法有哪些
php規定以兩個下劃線__開頭的方法都保留為魔術方法,建議自定義函數的函數名最好避開。
__construct() 實例化類時自動調用。
__destruct() 類對象使用結束時自動調用。
__set() 在給未定義的屬性賦值的時候調用。
__get() 調用未定義的屬性時候調用。
__isset() 使用isset()或empty()函數時候會調用。
__unset() 使用unset()時候會調用。
__sleep() 使用serialize序列化時候調用。
__wakeup() 使用unserialize反序列化的時候調用。
__call() 調用一個不存在的方法的時候調用。
__callStatic()調用一個不存在的靜態方法是調用。
__toString() 把對象轉換成字元串的時候會調用。比如 echo。
__invoke() 當嘗試把對象當方法調用時調用。
__set_state() 當使用var_export()函數時候調用。接受一個數組參數。
__clone() 當使用clone復制一個對象時候調用。
③ php 有函數內部函數的定義嗎
可以這樣寫,但調用的時候有些訣竅
$obj=newA;
$F=$obj->func1();//這個調用只能出現一次
$obj->func2();//上面的調用了之後,這里就可以直接調用內部函數了
④ PHP中這種方法怎樣寫的
類里的方法,變數如果不加任何描述關鍵詞那麼默認的都是public
至於那種連貫寫法主要是方法返回了當前類的對象
就像一樓的那種
⑤ php 類內部函數互相調用
function c()
{
self::b();
}
⑥ PHP中的常用數組操作方法有哪些
PHP中的常用數組操作方法(每種都給你舉個2個例子)
一、數組操作的基本函數
數組的鍵名和值
array_values($arr); 獲得數組的值
array_keys($arr);獲得數組的鍵名
數組的內部指針
current($arr); 返回數組中的當前單元
pos($arr); 返回數組中的當前單元
數組和變數之間的轉換
extract($arr);用於把數組中的元素轉換成變數導入到當前文件中,鍵名當作變數名,值作為變數值
註:(第二個參數很重要,可以看手冊使用)使用方法
echo$a;compact(var1,var2,var3);用給定的變數名創建一個數組
二、數組的分段和填充
數組的分段
array_slice($arr,0,3); 可以將數組中的一段取出,此函數忽略鍵名
array_splice($arr,0,3,array("black","maroon")); 可以將數組中的一段取出,與上個函數不同在於返回的序列從原數組中刪除
分割多個數組
array_chunk($arr,3,TRUE); 可以將一個數組分割成多個,TRUE為保留原數組的鍵名
數組的填充
array_pad($arr,5,'x'); 將一個數組填補到制定長度
三、數組與棧
array_push($arr,"apple","pear"); 將一個或多個元素壓入數組棧的末尾(入棧),返回入棧元素的個數
array_pop($arr); 將數組棧的最後一個元素彈出(出棧)
四、數組與列隊
array_shift($arr);數組中的第一個元素移出並作為結果返回(數組長度減1,其他元素向前移動一位,數字鍵名改為從零技術,文字鍵名不變)
array_unshift($arr,"a",array(1,2));在數組的開頭插入一個或多個元素
五、回調函數
array_walk($arr,'function','words'); 使用用戶函數對數組中的每個成員進行處理(第三個參數傳遞給回調函數function)
array_mpa("function",$arr1,$arr2); 可以處理多個數組(當使用兩個或更多數組時,他們的長度應該相同)
六、數組的排序
通過元素值對數組排序
sort($arr); 由小到大的順序排序(第二個參數為按什麼方式排序)忽略鍵名的數組排序
rsort($arr); 由大到小的順序排序(第二個參數為按什麼方式排序)忽略鍵名的數組排序
通過鍵名對數組排序
ksort($arr); 按照鍵名正序排序
krsort($arr); 按照鍵名逆序排序
七、數組的計算
數組元素的求和
array_sum($arr); 對數組內部的所有元素做求和運算
數組的合並
array_merge($arr1,$arr2); 合並兩個或多個數組(相同的字元串鍵名,後面的覆蓋前面的,相同的數字鍵名,後面的不會做覆蓋操作,而是附加到後面)
「+」$arr1+$arr2; 對於相同的鍵名只保留後一個
數組的差集
array_diff($arr1,$arr2); 返回差集結果數組
array_diff_assoc($arr1,$arr2,$arr3); 返回差集結果數組,鍵名也做比較
數組的交集
array_intersect($arr1,$arr2); 返回交集結果數組
array_intersect_assoc($arr1,$arr2); 返回交集結果數組,鍵名也做比較
八、其他的數組函數
range(0,12); 創建一個包含指定范圍單元的數組
array_unique($arr); 移除數組中重復的值,新的數組中會保留原始的鍵名
⑦ PHP怎麼調用函數內部數組變數
如你要調用function的運行結果,首先function要有
返回值
。你只需這樣寫:
function
creatList(){
....//你的代碼
return
$tr_array;//再末尾加上這句,就可以在外部獲取運行結果
}
具體調用:
$test
=
new
createHistoryList();
$arr
=$test->creatList();//這不就獲得$tr_array數組的值了么
print_r
($arr);//列印$arr
⑧ php函數內部調用問題
私有方法只能在類里邊使用,不能再類外使用。 如果函數內引用函數外定義的變數, 需要global一下成為全局變數,然後才能在函數內部使用它。
⑨ PHP 方法能不能像遞歸函數一樣在方法內部調用自己
可以啊,設置好跳出條件,實例化類,直接調用遞歸的方法,完全可以做個簡單的例子
⑩ php 方法里邊能否嵌套方法
$foo -> bar ()-> bar ()-> bar ()-> bar ()-> hello (); 是php框架中常用的形式。
首先理解一下$this,偽變數 $this 可以在當一個方法在對象內部調用時使用。$this 是一個到調用對象的引用,先看一下例子吧
<?php
class foo{
function bar() {
return $this;
}
function hello() {
echo "Hello";
}
}
$foo = new foo();
$foo->bar()->bar()->bar()->bar()->hello();
?>
這種新穎的調用方法有一個好處就是很直觀,如hello()方法是我們要操作方法,而bar()是一些步驟方法,在這里我再寫個
<?php
class example {
var $name;
var $sex;
function name($name) {
$this->name = $name;
return $this;
}
function sex($sex) {
$this->sex = $sex;
return $this;
}
function trace() {
print("Name: {$this->name},Sex: {$this->sex}");
}
}
$person = new example;
$person->name("lisha")->sex("female")->trace();
?>