컴퓨터프로그래밍

PHP : 배열의 배열입니다. PHP는 배열 검색

프로그래밍 - 구문과 의미입니다. 첫 번째는 언어의 규칙에 의해 정의 된, 두 번째입니다 - 개발자의 경험. 배열 개발자에 대한 주제 의미 구문을로드 할 수 있습니다. 그것은하지만 배열의 전통적인 의미에서, 대상이 아니다. PHP는 자신을 포함하여 다른 유형의 변수의 배열을 만들 수 있습니다. 어레이 요소는 실제 알고리즘, 진정한 의미의 어레이를로드 할 수 있고, 함수가 될 수있다.

구문은 안정적이지만, 버전 버전에 따라 다릅니다, 항상 심지어 바닥부터, 호환되지 않을 수 있습니다. 프로그램의 이식성은 - 물론 지난 세기의 성과를 잊어. 의미는 개발하고 항상에만 모든 언어의 모든 버전에없는 적용 할 수 있습니다; 심지어 제공되는 언어의 규칙이 아니었다는 사실을 표현하는 구문을 사용하는 전통. 이 예에서 배열은 가장 쉽게 이해 될 수있다.

건설 세트

PHP의 배열은 편리한 구문과 기능입니다. 이 데이터 유형은 사전에 설명 할 수 있지만, 필요에 따라 즉시 배열을 생성하는 것이 편리하다.

공용 $ 아논 = 배열 (); // 배열 설명한 것은 포함되지 않는다

공공 $ aFact = 배열 ( '아보카도', "복숭아", "체리"); // 세 요소의 배열

어떤 조건의 검증 프로세스의 배열을 만듭니다

$ CSrcLine은 = '문자열 데이터를 분석';

경우 ($ I = 0; I $ 13 <; $ 난 ++) {

$ CUserLine inputUserLine = (); // 입력 뭔가

경우 (checkFunc ($ cSrcLine, $ cUserLine) {

$ AResult는 [] = '예'; PHP는 배열을 추가 //

} 그밖에 {

$ AResult [] = '아니오';

}

}

본 실시 예의 실행의 결과 값 만 'yes'또는 'no'선 13 개 개의 요소들의 어레이를 생성한다. 요소는 0에서 12 같은 효과를 문자열로 미리 녹음 된 "미래"PHP 배열하여 얻을 수 있습니다에 대한 인덱스를해야합니다 :

$ CFutureArray = '';

경우 ($ I = 0; I $ 13 <; $ 난 ++) {

$ CUserLine inputUserLine = (); // 입력 뭔가

경우 ($ I> 0) {$ cFutureArray = '|'; }

(checkFunc ($ cSrcLine, $ cUserLine) {$ cFutureArray = '예'경우;

} 그밖에 {$ cFutureArray = '없음'; }

}

; | ( '', $ cFutureArray를) $ AResult 폭발 =

다차원 배열

배열을 사용하는 많은 콘텐츠 관리 시스템 (SMS) "대규모로." 한편으로는 다른 한편으로는 적용하기 어려운 좋은 방법입니다. 저자는 분명히 교리 "배열에 PHP 배열이"하더라도, 남용하면 안뿐만 아니라 개발자가 복잡한 표기법에 익숙해해야합니다. 종종, 작가 자신이 오랫동안 기억하는 동안은 내가 처음에 쓴 후 :

(배열을 반환

'View_manager'=> 어레이 (41 'template_path_stack'=> 어레이 (__DIR__. '/../view')

"라우터 => 어레이 ( '루트'=> 어레이 ( 'sayHello가'=> 어레이 (

'유형'=> '젠드 \ MVC \ 라우터 \ HTTP를 리터럴 \',

'옵션'=> 어레이 ( '행'=> '/ sayHello가', '디폴트'=> 어레이 (

'컨트롤러'=> 'helloworld를 \ 컨트롤러 \ 지수', '행동'=> '인덱스')))))

'제어기'=> 어레이 ( 'invokables'=> 어레이 (

'helloworld를 \ 컨트롤러 \ 지수'=> 'helloworld를 \ 컨트롤러 \ 인 IndexController'))

);

이것은 처음에하지 너무 감동 ZF 2의 배열 "의 샘플 연습«의 PHP 배열이지만, 작동, 아마도이 성공적으로 프레임 워크 (모듈 ZendSkeletonApplication / 모듈 / helloworld를 / 설정 / module.config.php에서 예) 있습니다.

배열 - 설계 및 개발시 중요한 데이터 구조. 그의 다차원 버전은 한 번 인기를했지만, 시간이 지남에 따라 최대 두 개 또는 세 개의 차원 배열에 대한 필요성을 유지하고있다. 뭔가 곱 시작되므로 문제의 수립에 뭔가, 또는 코드 경우가 때보다 쉽고 직관적하지만, 전문성의 측면에서입니다.

단순 접근하고 이해할 수

배열에 PHP 배열에 생성, 그것은 두 개 또는 세 개의 레벨로 제한하는 것이 가장 좋습니다. PHP의 안정성과 신뢰성에도 구문 실수 처리한다. 이것으로 당신은 정확하게 괄호와 쉼표를 계산 익숙한 좋은 코드 편집기를 갖는 용납 할 수 있습니다. 그러나, PHP (이 카르마 현대적인 프로그램이다)와 개발자가 의미 오류를 연습 할 수 있도록 데이터의 유형을 제어하지 않습니다.

종종 고급 스러움을 - 변수 나 구문 변환 의미의 자신의 아이디어의 유형을 제어 할 수있는 권리. 이 손실률 스크립트 코드의 가독성은 쉽게 ... 코딩 항상 필수적이기 때문이다.

PHP는 상당한 부정적인 기능이 있습니다 : 스크립트는 불확실성의 경우에 중단됩니다. 모든 디버거 예기치 못한 사건에 대처하고, 많은 개발자의 경험과 직관에 따라 달라집니다. 구조화 된 정보보다 간단 알고리즘은 더 접근, 더 많은 기회가 오류를 발견하거나 그것을 허용하지 않습니다.

특징적으로, 데이터 옵션의 첫 번째 배열 형태의 구조로 제공 될 때 - 데이터의 다른 유형의 무언가를 만드는 서투른 시도. 첫 번째는 두 번째는 역사에 가서 살아 강력하고 새로운 구문을 얻었다.

간단하고 연관 배열

2 차원 어레이를 기록하는 단계 - 브래킷의 다른 쌍은 "["및 "]"는, 예를 들면, $ aSrcData [1] [2] 항목에 액세스 수단 [2] 배열 [1], 배열 $ aSrcData 입력. PHP에서는 사전에 데이터를 선언 할 필요가 없다. Lyuboyu는 정보가 항상 존재 여부를 확인할 수 있습니다 말했다.

그것은 더 이상 필요한 경우이 필요하지, 파괴되는 형태로, 필요한 경우에만 매우 효율적으로 무언가를 만들 수 있습니다. 키 (인덱스)으로 의미있는 이름을 사용하는 알고리즘의 현재 위치의 문맥에서 의미 판독 구조를 제조 할 수있다 :

$ AAnketa [ '이름'= '이바노프';
$ AAnketa [ '연령'] = 42;
$ AAnketa [ '작업'] = '이사';
$ AAnketa [ '활성은'] = 참;
$ ATABLE [] = $ aAnketa;

$ AAnketa [ '이름'= '페트';
$ AAnketa [ '연령'] = 34;
$ AAnketa [ '작업'] = '관리자';
$ AAnketa [ '활성은'] = 참;
$ ATABLE [] = $ aAnketa;

$ AAnketa [ '이름'= 'Afanasiev';
$ AAnketa [ '나이'] (28) =;
$ AAnketa [ '작업'] = '일';
$ AAnketa [ '활성은'] = FALSE;
$ ATABLE [] = $ aAnketa;

$ 소네 = 내파. ( ","$ ATABLE [1]). '
'; // 스트링에 제 PHP 어레이
. $의 소네 = $ ATABLE [1] [ '일']; // 두 번째 어레이의 하나 개의 요소에 호출

이 실시 예의 결과 ( 「이름」, 「연령」, 「작품 ','활성 '제 배열 - 4 개의 키가있는 연관 - 보통의 키는 내부에, 0 번째 배열을 개시)

$ 소네 = '페트로프; 34; 관리자; 1
관리자 ';

이 간단한 예에서, 하나의 확립 프로필 모든 종업원에 적용 할 수있는 방법을 알 수있다. 당신은 사원 번호의 인덱스와 직원의 배열을 생성하고 특정 직원이 필요하다면, 다음 직원 번호를 선택할 수 있습니다.

조직 부서가있는 경우 또는 계절 일이, 또는 별도로 작업 연금을 할당 할 경우 ... 디자인 "배열에 PHP 배열"매우 편리하지만,이 차원에 포함되지 얻을 안됩니다. 두 개 또는 세 개의 차원 - 효율적인 솔루션에 대한 제한.

배열을 사용하기위한 키

전에 상황이 최근 몇 년 동안, 어떻게 작동하는지, 중요 경우, 프로그래머가 배열 요소가 저장되는 방법을 정확하게 알고 싶어하고 그들에게 직접 액세스하는 것을 바랬다 바이너리 시대의 전통은 완전히 잊어. 메모리에서 차지하는 문자 인코딩을 많이 한 바이트가되지이었다. 단어 "비트"은 비트 검색 작업에서의 만남을 지금은 가능하지만 PHP 배열에 대한 검색 - 별도의 문제입니다. 요소에 대한 액세스가 간단하고 연관 될 수 있습니다. 전자의 경우 (가능한 유형 PHP 중 하나를 가짐) 배열 요소 1, 2, ... 번째의 경우, 프로그래머들은 종종 "키"원하는 값에 접근하도록 함 자체 인덱스를 지정하는 0 넘버링된다.

$ ALINE [ "과일"] = "오렌지"; // 여기에 PHP 키 배열 = "과일"

또는 (모든 것이 정확하고 코드 페이지 인코딩을 준수해야합니다) :

$ 알린 [의 iconv ( "UTF-8 ','CP1251 '"과일 ")]의 iconv = ('UTF-8 ','CP1251 '"오렌지 ");

당신은 배열 $ ALINE 새 값을 추가 할 때 :

$ 알린 []의 iconv = ( 'UTF-8', 'CP1251', '피치');
$ 알린 [의 iconv ( "UTF-8", "CP1251", "야채")]의 iconv = ( 'UTF-8', 'CP1251 ","오 ");
$ 알린 []의 iconv = ( 'UTF-8', 'CP1251', '가지');

루프의 결과 :

foreach는 {($ 알린은 $로의 CK =>는 이력서 $)
$ 콘. = $ CK 등록. '='. $ 이력서. '
';
}

그것은에 의해 얻어진다 :

오렌지 과일 =
0 = 복숭아
= 야채 오이
1 = 가지

PHP 키 항목 '피치'는 0부터 순차적으로 형성된 '가지'를 가산하고, 그 값을 지정할 때,이 값과 동일하게 배열 될 것이다.

어레이에서 소자 분리

가장 쉬운 방법은 처리 중 PHP 배열 요소를 제거한다. 이 경우, 예를 들어, 실행 사이클의 결과로서 소스 어레이 보아, 단순히 불필요한 요소가 기록되지 않은 새로 형성된다.

당신은 쉽게 할 수 있습니다. 마지막 예제를 사용하는 경우 :

해제 ($ 알린 [0]); // PHP는 배열 요소를 삭제

결과는 다음과 같습니다

오렌지 과일 =
= 야채 오이
1 = 가지

배열 요소를 조작 옵션 세트를 구성 할 수있다. 예를 들어, 함수를 사용 : 내파 () 및 하나 분배기 PHP 행 어레이에 기록 될 수 있음) (폭발, 다시 다른 배열로 분해 - 다른 분리기.

단순히 전체적으로 PHP 배열을 제거하려면, 단지 쓰기 : 해제 ($ 알린를);

그것으로 충분합니다.

배열에서 검색

PHP는 특수 검색 기능이 포함되어 array_keys ()를, array_values (), array_key_exists (), 과와 in_array (),하지만 당신이 그들을 사용하기로 결정하기 전에, 자신의 PHP 배열에서 검색 할 수있는 가능성을 고려해야한다.

모든 프로젝트는 특히이 주제 영역, 의미의 일부 구문으로 이동하고 매우 구체적인 의미있는 키의 집합으로 표현, 특히 설계 배열을. 그것은 당신이 또한 의미있게 설명 할 수 있습니다 자신의 검색 기능을 수행 할 수 있습니다.

PHP에서는 프로그램 실행 중에 결정되는 이름있는 함수를 호출 할 수 있습니다. 읽고 MS Word 문서를 작성할 수 있습니다 PHPWord 라이브러리의 매우 실용적인 예 :

$ 요소 = 배열 ( '텍스트', '인라인', 'TextRun', '링크', 'PreserveText', 'TextBreak'
'을 ListItem', 'ListItemRun', '테이블', '이미지', '객체', '각주'
'미주', '확인란', '텍스트 상자', '필드', '라인');

$ 함수 = 배열 ();

경우 ($ I = 0; I $ 횟수 ($ 요소) "; $ 난 ++) {
$ 기능은 [$ 나는] = '추가'. $ 요소 [$ i]는;
}

결과적으로, 기능의 배열은 $ $이 값 배열 요소를 수신, 즉, 실제 문서의 요소에 대한 작업을 수행하는 실제 함수의 이름.

$을 요구하는 요소 [4] 함수 $ 기능 [4], 당신은 완벽한 검색 및 빠른 결과를 얻을 수 있습니다.

정렬 항목

데이터 정렬 작업이 중요하며, PHP는이에 대한 몇 가지 기능을 제공합니다 : 정렬 (), rsort () 형식에 따라 asort (), ksort (), ... 오름차순 및 후자의 두 가지 기능의 하강 요소 키와 값 사이의 관계를 유지합니다. 때로는 무작위로 배열의 값을 혼합하는 의미합니다 - 셔플 ().

정렬하려면 PHP 함수를 사용하여, 우리는 회원들이 다른 종류의,하지만 매우 자연스럽지 내용뿐만 아니라이있을 수 있다는 것을 기억해야한다. 우선 다른 형식으로 작성된 러시아어 문자, 정렬 날짜 및 번호를 포함하는 문자열을 정렬에 대해 매우 조심해야합니다.

적어도 스크립트를 테스트하는 단계에서, 자신의 이상적인 솔루션을 작성하는 가장 좋은 방법은 - 수동 정렬입니다. 그것은 우발를 제공하는 데 도움이 될 것입니다.

문자열 배열

기능 내파 ()을 분해하여 () 어레이가 쉽게 문자열로 변환하고 다시 얻을 수있다. 그것은 당신이 컴팩트 한 표현에 데이터를 저장하고 필요에 따라 편안한 상태에 배포 할 수 있습니다.

배열, 라인에서 직면하는 새로운 가능성을 엽니 다. 예를 들어, 텍스트의 키워드를 검색하는 작업은 발견 다시 추가되지 않았습니다해야합니다.

$ CSrcLine = '텍스트 텍스트 ListItemRun 텍스트 상자을 ListItem 텍스트 상자는 상자 CheckBox에 텍스트 상자 각주를 확인합니다';

$ 폭발을 ASRC = ( ''$ cSrcLine);
$ CDstLine = '';

경우 ($ I = 0; I $ 횟수 ($ ASRC) "; $ 난 ++) {
$ CFind = '['. $ ASRC [$ i]는. '];
만약 (! is_integer가 (strpos ($ cDstLine, $ cFind))) {
. $ CDstLine = $ cFind;
}
}
$ ADST 폭발 = ( '] ['$ cDstLine);

$ 콘 = 내파 ( ','$ ADST);

그 결과, 변수 $ CONE 번이 충족 원래 라인 만 값을받을 : "텍스트, ListItemRun, 텍스트 상자,을 ListItem을, 확인, 상자, CheckBox에, 각주".

키와 값의 러시아어

구문 구조에서 국가 문자 집합에 연결되어 아무것도 사용하지 않는 것이 좋습니다. 러시아어뿐만 아니라 다른 모든 언어, 문자가있는 있지만 코드 구문, 데이터베이스에있는, 문제를 만들지 않습니다, AZ를 벗어납니다. 때때로 PHP«심지어 간단한 작업은 프린터의 배열을 가져 오거나 화면에 간단하게 스크립트를 중지 종종 횡설수설 ","로 이어질 것 "합니다.

PHP - 언어 충성과 국가 문자 관대하지만, 수행 한 작업의 양이 키를 나타납니다 적절한시기에 적절한 장소에, 할 수 없습니다 식별해서 다시 수행하는 많은 경우가 있습니다.

PHP 구문 및 언어 환경

이 하나 있지만, 다른 응용 프로그램, 하드웨어 옵션과 함께 운영 체제와 구문 "거래"의 디자인 - 마음에 PHP 구문을 유지합니다. 가능하지 않을 것 모두를 제공하기 위해 많은 옵션이 있습니다.

"코드에서이 코드 만이며, 입구, 내부 및 출력에서 어떤 정보가"예상치 못한 놀라움을 방지하는 데 도움이됩니다 규칙. 배열의 PHP 값은 "러시아"할 수있다, 그러나 열쇠는 언어의 관점에서뿐만 아니라, 자신의 작업 환경의 측면에서뿐만 아니라, 문법적으로 정확해야하는 것입니다.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ko.atomiyme.com. Theme powered by WordPress.