ホームページ php教程 php手册 php数组 类和对象 接口使用方法

php数组 类和对象 接口使用方法

May 25, 2016 pm 04:38 PM
PHPインターフェース PHP配列 PHPクラス

1. 数组

php的数组其实是一个关联数组,或者说是哈希表,php不需要预先声明数组的大小,可以用直接赋值的方式来创建数组,例如:

//最传统,用数字做键,赋值 
$state[0]="beijing";  
$state[1]="hebei";  
$state[2]="tianjin"; 
//如果键是递增的数字,则可以省略 
$city[]="shanghai";  
$city[]="tianjin";  
$city[]="guangzhou"; 
//用字符串做键 
$capital["china"]="beijing";  
$capital["japan"]="tokyo";
ログイン後にコピー

用array()来创建数组会更加方便一点,可以将数组元素作为array的参数传递给他,也可以用=>运算符创建关联数组,例如:

$p=array(1,3,5,7); 
$capital=array("china"=>"beijing", "japan=>"tokyo");
ログイン後にコピー

array其实是一种语法结构,而不是函数,和array类似,还有一个list(),它可以用来提取数组中的值,并给多个变量赋值,例如:

list($s,$t)=$city;  
echo $s,' ',$t;
ログイン後にコピー

输出结果:shanghai tianjin

注意,list方法只能用于由数字索引的数组.

php内建了一些常用的数组处理函数,具体可以参考手册,常用的函数举例如下,count或者sizeof可以得到数组的长度,array_merge 可以合并两个,或者多个数组,array_push(pop)可以像堆栈一样使用数组.

<?php 
$state[0]="beijing"; 
$state[1]="hebei"; 
$state[2]="tianjin"; 
$city[]="shanghai"; 
$city[]="tianjin"; 
$city[]="guangzhou"; 
$capital["china"]="beijing"; 
$capital["japan"]="tokyo"; 
 
echo count($city),&#39;<br/>&#39;; 
array_push($capital,"paris"); 
$newarray=array_merge($city,$capital); 
foreach($newarray as $elem) 
//开源代码phprm.com 
echo $elem.&#39;<br/>&#39;;
ログイン後にコピー

//输出结果为: 
//3  
//shanghai  
//tianjin  
//guangzhou  
//beijing  
//tokyo  
//paris
ログイン後にコピー

2. 类和对象

php5开始对面向对象编程有了很好的支持,php中的类的概念和其他面向对象的语言比如c#是十分相似的,它也是一个值和方法的聚合体,使用class关键字定义,例如:

<?php 
class authuser { 
  protected $username; 
  protected $password; 
  public function   __construct($username,$password) { 
      $this->username=$username; 
      $this->password=$password; 
  } 
  public function getusername() { 
      return $username; 
  } 
  public function changepassword($old,$new) {                 
      if($this->password==$old) { 
          $this->password=$new; 
          return true; 
      }else 
          return false; 
  } 
  public function login($password) { 
      return $this->password==$password; 
  } 
  public static function createuser($username,$password) { 
      $user=new authuser($username,$password); 
      return $user; 
  } 
} 
$user=authuser::createuser("admin","123"); 
echo $user->getusername(); 
if($user->changepassword(&#39;abc&#39;, &#39;new&#39;)) 
  echo &#39;changepassword success&#39;; 
else 
  echo &#39;change password fail&#39;; 
$user->changepassword("123", "321"); 
if($user->login("321")) 
  echo "login"; 
else 
  echo "login fail";
ログイン後にコピー

上面是一个虽然没有什么用但是语法结构上较为完整的类,首先使用class关键字定义类的名字,内部可以定义字段和方法,字段和方法的修饰词可以是private,protected,public 和 final,仅方法有,其含义和其它语言一致,不再赘述,不同的地方在于,php不支持函数的重载,另外,php5的构造函数的定义是__construct,注意前缀是两个下划线。php4的构造函数的定义和其它语言一致,是和类名一样的函数,php5也兼容这种写法。php5还支持析构函数,名字是__destruct,在函数内部,可以使用$this变量来获得当前对象的引用,php也支持静态函数,同样是使用static关键字修饰,示例中最后一个函数就静态函数,静态函数不能通过类的实例引用.

类的定义下面是使用类的代码示例,php也是通过new关键字来实例化一个类,通过->运算符来引用对象的方法,注意其静态类的引用方法是::,这是和c++一致的.

下面再简单介绍下类的继承,php中使用extends关键字来实现类的继承,这是和java一致的,实例代码如下:

<?php 
class baseclass { 
    function __construct() { 
        print "in baseclass constructorn"; 
    } 
} 
class subclass extends baseclass { 
    function __construct() { 
        parent::__construct(); 
        print "in subclass constructorn"; 
    } 
} 
$obj = new baseclass(); 
$obj = new subclass();
ログイン後にコピー

//输出的结果是: in baseclass constructor in baseclass constructor in subclass constructor

要注意,php的子类的构造函数不会自动调用父类的构造函数,必须在程序中显式地调用,使用parent关键字可以得到父类的引用,另外,由于php本身是弱类型的,所以“多态“的概念也不存在了,实际上,它永远都是多态的.

接口:接口定义了一组方法,但不实现他们,其语法为:

interface  iinterfacename 
{ 
//常量、函数定义  
}
ログイン後にコピー

类利用implements关键字来表面实现某个接口,这和java是一致的.

<?php 
interface iaddable{ 
  function add($something); 
} 
class addclass implements iaddable 
{ 
   private $data; 
   function addclass($num){ 
       $data=$num; 
   } 
   public function add($something) 
   { 
       $data+=$something; 
       return $data; 
   } 
} 
$a=new addclass (5); 
echo $a instanceof iaddable; 
echo $a->add(10);
ログイン後にコピー


本文地址:

转载随意,但请附上文章地址:-)

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPインターフェイスとEChartsを使用して視覚的な統計グラフを生成する方法 PHPインターフェイスとEChartsを使用して視覚的な統計グラフを生成する方法 Dec 18, 2023 am 11:39 AM

データの視覚化がますます重要になっている今日の状況において、多くの開発者は、さまざまなツールを使用してさまざまなチャートやレポートを迅速に生成し、データをより適切に表示し、意思決定者が迅速な判断を下せるようにしたいと考えています。この文脈では、Php インターフェイスと ECharts ライブラリを使用すると、多くの開発者が視覚的な統計グラフを迅速に生成するのに役立ちます。この記事では、Php インターフェイスと ECharts ライブラリを使用して視覚的な統計グラフを生成する方法を詳しく紹介します。具体的な実装ではMySQLを使用します。

PHPに存在する配列の数を確認する方法 PHPに存在する配列の数を確認する方法 Aug 04, 2023 pm 05:40 PM

PHP で配列を決定するには、いくつかの方法があります。 1. すべてのタイプの配列に適した count() 関数を使用します。ただし、渡されたパラメータが配列でない場合、count() 関数は 0 を返すことに注意してください。2. 他のプログラミング言語との互換性を維持するために使用される sizeof() 関数を使用します。3. カスタム関数では、ループを使用して配列を走査することにより、配列を走査するたびにカウンターが 1 ずつ増加し、最終的に配列の長さが取得されます。カスタム関数は実際のニーズに応じて変更および拡張できるため、より柔軟になります。

PHP 配列のパフォーマンス最適化手法の探求 PHP 配列のパフォーマンス最適化手法の探求 Mar 13, 2024 pm 03:03 PM

PHP 配列は、開発プロセス中によく使用される非常に一般的なデータ構造です。ただし、データ量が増加すると、アレイのパフォーマンスが問題になる可能性があります。この記事では、PHP 配列のパフォーマンス最適化手法をいくつか検討し、具体的なコード例を示します。 1. 適切なデータ構造を使用する PHP には、通常の配列に加えて、SplFixedArray、SplDoublyLinkedList など、特定の状況で通常の配列よりもパフォーマンスが優れたデータ構造がいくつかあります。

PHP配列のキーと値のペアとは何ですか? PHP配列のキーと値のペアとは何ですか? Aug 03, 2023 pm 02:20 PM

PHP の配列キーと値のペアは、キーと対応する値で構成されるデータ構造です。キーは配列要素の識別子であり、値はキーに関連付けられたデータです。キーを識別子として使用してデータを保存およびアクセスできるようになり、キーと値のペアを使用することで、配列内の要素の操作と管理がより簡単になり、プログラム開発がより柔軟かつ効率的になります。

配列が空かどうかを判断するPHPの関数は何ですか? 配列が空かどうかを判断するPHPの関数は何ですか? Aug 03, 2023 pm 05:15 PM

PHP が配列が空かどうかを判断するために使用する関数は、「empty()」関数と「count()」関数です。 1. "empty()" 関数は、配列が空かどうかの判定を含め、変数が空かどうかを判定するために使用されます。その構文は "empty($variable)" です。 2. "count()" 関数は、次の目的で使用されます。 count 配列。要素の数。構文は「count($array)」です。

PHPの二次元配列を一次元配列に変換する方法 PHPの二次元配列を一次元配列に変換する方法 Aug 03, 2023 am 11:14 AM

PHP 配列を 2 次元から 1 次元配列に変換する方法: 1. ループ トラバーサルを使用して 2 次元配列を走査し、各要素を 1 次元配列に追加します; 2. 「array_merge」関数を使用して複数の要素をマージします配列を配列に. 二次元配列を「array_merge」関数にパラメータとして渡して一次元配列に変換; 3. 「array_reduce」関数を使用すると、配列内のすべての値を処理できますコールバック関数を介して、最終的に結果を返します。

EChartsとphpインターフェースを組み合わせて統計グラフの動的更新を実現する方法 EChartsとphpインターフェースを組み合わせて統計グラフの動的更新を実現する方法 Dec 17, 2023 pm 03:47 PM

EChart と PHP インターフェイスを組み合わせて統計チャートの動的な更新を実装する方法 はじめに: データの視覚化は、最新のアプリケーションで重要な役割を果たします。 ECharts は、さまざまな種類の統計グラフを簡単に作成できる優れた JavaScript グラフ ライブラリです。 PHP は、サーバーサイド開発で広く使用されているスクリプト言語です。 EChartsとPHPインターフェースを組み合わせることで、統計グラフの動的更新を実現し、リアルタイムデータの変化に応じて自動的にグラフを更新することができます。本

PHP での配列結合の効果的な実装 PHP での配列結合の効果的な実装 Apr 30, 2024 pm 01:03 PM

PHP で配列結合を実装する効果的な方法: array_merge() 関数を使用して複数の配列を結合しますが、重複した値は結合しません。 array_unique() と array_merge() を組み合わせて配列をマージし、重複した値を保持します。ソートされた配列の結合など、特定の要件に基づいて配列を結合するカスタム関数を作成します。

See all articles