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 Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP 인터페이스와 ECharts를 사용하여 시각적 통계 차트를 생성하는 방법 PHP 인터페이스와 ECharts를 사용하여 시각적 통계 차트를 생성하는 방법 Dec 18, 2023 am 11:39 AM

데이터 시각화가 점점 더 중요해지는 오늘날의 상황에서 많은 개발자들은 데이터를 더 잘 표시하고 의사 결정자가 빠른 판단을 내릴 수 있도록 다양한 도구를 사용하여 다양한 차트와 보고서를 신속하게 생성하기를 희망합니다. 이러한 맥락에서 Php 인터페이스와 ECharts 라이브러리를 사용하면 많은 개발자가 시각적 통계 차트를 신속하게 생성하는 데 도움이 될 수 있습니다. 이 기사에서는 Php 인터페이스와 ECharts 라이브러리를 사용하여 시각적 통계 차트를 생성하는 방법을 자세히 소개합니다. 구체적인 구현에서는 MySQL을 사용합니다.

PHP 배열 키-값 쌍이란 무엇입니까? PHP 배열 키-값 쌍이란 무엇입니까? Aug 03, 2023 pm 02:20 PM

PHP 배열 키-값 쌍은 키와 해당 값으로 구성된 데이터 구조입니다. 키는 배열 요소의 식별자이고 값은 키와 관련된 데이터입니다. 키-값 쌍을 사용하여 키를 식별자로 사용하여 데이터를 저장하고 액세스할 수 있으므로 배열의 요소를 보다 쉽게 ​​작동하고 관리할 수 있으므로 프로그램 개발이 더욱 유연하고 효율적이 됩니다.

PHP에 배열이 몇 개 있는지 확인하는 방법 PHP에 배열이 몇 개 있는지 확인하는 방법 Aug 04, 2023 pm 05:40 PM

PHP에서 배열을 결정하는 방법에는 여러 가지가 있습니다. 1. 모든 유형의 배열에 적합한 count() 함수를 사용합니다. 그러나 전달된 매개변수가 배열이 아닌 경우 count() 함수는 0을 반환합니다. 2. 다른 프로그래밍 언어와의 호환성을 유지하는 데 더 많이 사용되는 sizeof() 함수를 사용합니다. 함수, 루프를 사용하여 배열을 순회함으로써 순회할 때마다 카운터가 1씩 증가하고 최종적으로 배열의 길이를 얻습니다. 사용자 정의 기능은 실제 필요에 따라 수정 및 확장될 수 있어 더욱 유연해집니다.

PHP 배열의 성능 최적화 기술 탐색 PHP 배열의 성능 최적화 기술 탐색 Mar 13, 2024 pm 03:03 PM

PHP 배열은 개발 과정에서 자주 사용되는 매우 일반적인 데이터 구조입니다. 그러나 데이터 양이 증가함에 따라 어레이 성능이 문제가 될 수 있습니다. 이 기사에서는 PHP 배열에 대한 몇 가지 성능 최적화 기술을 살펴보고 구체적인 코드 예제를 제공합니다. 1. 적절한 데이터 구조 사용 PHP에는 일반 배열 외에도 SplFixedArray, SplDoublyLinkedList 등과 같은 다른 데이터 구조가 있는데, 이는 특정 상황에서 일반 배열보다 더 나은 성능을 발휘할 수 있습니다.

ECharts와 PHP 인터페이스를 결합하여 통계 차트의 동적 업데이트를 실현하는 방법 ECharts와 PHP 인터페이스를 결합하여 통계 차트의 동적 업데이트를 실현하는 방법 Dec 17, 2023 pm 03:47 PM

ECharts와 PHP 인터페이스를 결합하여 통계 차트의 동적 업데이트를 구현하는 방법 소개: 데이터 시각화는 최신 애플리케이션에서 중요한 역할을 합니다. ECharts는 다양한 유형의 통계 차트를 쉽게 생성하는 데 도움이 되는 뛰어난 JavaScript 차트 라이브러리입니다. PHP는 서버측 개발에 널리 사용되는 스크립팅 언어입니다. ECharts와 PHP 인터페이스를 결합함으로써 통계 차트의 동적 업데이트를 실현할 수 있으므로 실시간 데이터의 변화에 ​​따라 차트가 자동으로 업데이트될 수 있습니다. 책

PHP에서 배열 결합의 효과적인 구현 PHP에서 배열 결합의 효과적인 구현 Apr 30, 2024 pm 01:03 PM

PHP에서 배열 통합을 구현하는 효과적인 방법: array_merge() 함수를 사용하여 여러 배열을 병합하지만 중복 값은 병합하지 않습니다. array_unique()와 array_merge()를 결합하여 배열을 병합하고 중복 값을 유지합니다. 정렬된 배열 병합과 같은 특정 요구 사항에 따라 배열을 병합하는 사용자 지정 함수를 만듭니다.

배열이 비어 있는지 확인하는 PHP의 함수는 무엇입니까? 배열이 비어 있는지 확인하는 PHP의 함수는 무엇입니까? Aug 03, 2023 pm 05:15 PM

배열이 비어 있는지 확인하기 위해 PHP가 사용하는 함수는 "empty()" 함수와 "count()" 함수입니다. 1. "empty()" 함수는 배열이 비어 있는지 확인하는 것을 포함하여 변수가 비어 있는지 확인하는 데 사용됩니다. 해당 구문은 "empty($variable)"입니다. 2. "count()" 함수는 다음과 같이 사용됩니다. count 배열. 요소 수, 구문은 "count($array)"입니다.

2차원 PHP 배열을 1차원 배열로 변환하는 방법 2차원 PHP 배열을 1차원 배열로 변환하는 방법 Aug 03, 2023 am 11:14 AM

PHP 배열을 2차원에서 1차원 배열로 변환하는 방법: 1. 루프 순회를 사용하여 2차원 배열을 탐색하고 각 요소를 1차원 배열에 추가합니다. 2. "array_merge" 함수를 사용하여 여러 항목을 병합합니다. 2차원 배열을 "array_merge" 함수에 매개변수로 전달하여 1차원 배열로 변환합니다. 3. "array_reduce" 함수를 사용하면 배열의 모든 값을 처리할 수 있습니다. 콜백 함수를 통해 최종적으로 결과를 반환합니다.

See all articles