728x90
반응형

프로그래밍 언어/PHP 73

PHP에서 toString()을 사용하는 방법 (변수의 값을 문자열로 변환)

질문 : .NET / Java의 toString ()에 해당하는 PHP PHP 변수의 값을 문자열로 어떻게 변환합니까? 빈 문자열로 연결하는 것보다 더 나은 것을 찾고있었습니다. $myText = $myVar . ''; Java 또는 .NET의 ToString() 메소드와 같습니다. 답변 캐스팅 연산자를 사용할 수 있습니다. $myText = (string)$myVar; 부울과 널에 대한 특수 처리를 포함하여 PHP 매뉴얼 의 문자열 섹션 에 문자열 캐스팅 및 변환에 대한 자세한 내용이 있습니다. 출처 : https://stackoverflow.com/questions/28098/php-equivalent-of-net-javas-tostring

PHP 배열의 첫 번째 요소 가져 오기

질문 : 배열의 첫 번째 요소 가져 오기 배열이 있습니다. array( 4 => 'apple', 7 => 'orange', 13 => 'plum' ) 이 배열의 첫 번째 요소를 얻고 싶습니다. 예상 결과 : string apple 한 가지 요구 사항 : 참조로 전달할 수 없으므로 array_shift 는 좋은 솔루션이 아닙니다. 어떻게 할 수 있습니까? 답변 원래 답변이지만 비용이 많이 듭니다 (O (n)) : array_shift(array_values($array)); O에서 (1) : array_pop(array_reverse($array)); 기타 사용 사례 등 $array 의 수정 (배열 포인터 재설정의 의미에서)이 문제가되지 않는 경우 다음을 사용할 수 있습니다. reset($array); 배..

PHP 배열 저장에 선호되는 방법 (json_encode vs serialize)

질문 : PHP 배열 저장에 선호되는 방법 (json_encode vs serialize) 캐싱을 위해 데이터의 다차원 연관 배열을 플랫 파일에 저장해야합니다. 때때로 웹 앱에서 사용하기 위해 JSON으로 변환해야 할 필요가있을 수 있지만 대부분의 경우 PHP에서 직접 배열을 사용합니다. 이 텍스트 파일에 배열을 JSON 또는 PHP 직렬 배열로 저장하는 것이 더 효율적입니까? 나는 둘러 보았고 최신 버전의 PHP (5.3)에서 json_decode 가 실제로 unserialize 보다 빠릅니다. 필요한 경우 사람이 읽기 쉽기 때문에 현재 배열을 JSON으로 저장하는쪽으로 기울고 있습니다. PHP와 JavaScript 모두에서 아주 적은 노력으로도 사용할 수 있습니다. 디코딩 속도가 빠릅니다 (인코딩에 ..

PHP 동일성(==)과 항등성(===) 비교 연산자의 차이

질문 : PHP 같음 (== double equals)과 identity (=== triple equals) 비교 연산자는 어떻게 다릅니 까? == 와 === 의 차이점은 무엇입니까? == 비교는 정확히 어떻게 작동합니까? === 비교는 정확히 어떻게 작동합니까? 유용한 예는 무엇입니까? 답변 ==와 ===의 차이 == 같음 연산자와 엄격한 === 같은 연산자의 차이점 은 설명서에 정확히 설명되어 있습니다. 비교 연산자 느슨하게 == 동등한 비교 == != , 또는 == 와 같이 느슨하게 비교를 사용하는 다른 비교 연산자를 사용하는 경우 항상 컨텍스트 를 살펴보고 무엇을, 어디서, 왜 변환하여 무엇을 이해해야합니다. 진행되고있다. 규칙 변환 부울로 변환 정수로 변환 부동으로 변환 문자열로 변환 배열로 변..

IntelliJ IDEA는 플러그인을 통해 WebStorm 및 PHPStorm의 모든 기능을 캡슐화

질문 : IntelliJ IDEA는 플러그인을 통해 WebStorm 및 PHPStorm의 모든 기능을 캡슐화 할 수 있습니까? 나는 새로운 IDE를 시장에 내놓고 있지만 Jetbrains의 일부 제품이 겹치는 부분에 대해 혼란 스럽습니다. IntelliJ IDEA에는 Node.js 및 php 개발을 수행 할 수있는 플러그인이있는 것 같습니다. IntelliJ IDEA는 WebStorm 및 PHPStorm이 플러그인을 통해 수행하는 모든 작업을 수행 할 수 있습니까? 아니면 IDEA에서 사용할 수없는 특수 기능이 있습니까? 모든 개발에 대해 단일 다중 언어 IDE를 갖기를 바랍니다. 답변 경량 IDE의 모든 기능은 IntelliJ IDEA에서 찾을 수 있습니다 ( 저장소에서 해당 플러그인 을 설치해야 함)..

PHP를 사용하여 현재 연도를 얻는 방법

질문 : 올해는 어떻게 PHP를 사용합니까? 나는 웹 사이트의 바닥 글에 저작권 고지를 붙이고 싶지만, 그 해가 구식이 되기에는 믿을 수 없을만큼 끈적 거리는 것 같다. PHP 4 또는 PHP 5로 연도를 자동으로 업데이트하려면 어떻게해야합니까? 답변 date 또는 strftime을 사용할 수 있습니다. 이 경우에는 어떤 일이 있어도 1 년이 1 년이므로 중요하지 않다고 말하고 싶습니다 (연도를 다르게 형식화하는 로케일이없는 경우). 예를 들면 : 참고로 PHP에서 날짜 형식을 지정할 때 기본값과 다른 로케일로 날짜를 형식화하려는 경우 중요합니다. 그렇다면 setlocale 및 strftime을 사용해야합니다. 날짜에 PHP 매뉴얼 에 따르면 : 다른 언어로 날짜 형식을 지정하려면 date () 대신 s..

value 로 PHP 배열 삭제 (key 아님)

질문 : 값으로 PHP 배열 삭제 (키 아님) 다음과 같이 PHP 배열이 있습니다. $messages = [312, 401, 1599, 3, ...]; $del_val 값 (예 : $del_val=401 )을 포함하는 요소를 삭제하고 싶지만 해당 키를 모릅니다. 도움이 될 수 있습니다. 각 값은 한 번만있을 수 있습니다 . 이 작업을 수행하는 가장 간단한 기능을 찾고 있습니다. 답변 array_search() 및 unset 사용하여 다음을 시도하십시오. if (($key = array_search($del_val, $messages)) !== false) { unset($messages[$key]); } array_search() unset() 사용하여 원래 배열에서 해당 요소를 제거하는 데 사용할 수 ..

PHP 구문 분석 / 구문 오류; 그리고 그것들을 해결하는 방법

질문 : PHP 구문 분석 / 구문 오류; 그리고 그것들을 해결하는 방법 누구나 구문 오류가 발생합니다. 경험 많은 프로그래머조차도 오타를 만듭니다. 신규 이민자에게는 학습 과정의 일부일뿐입니다. 그러나 다음과 같은 오류 메시지를 해석하기 쉬운 경우가 많습니다. PHP 구문 분석 오류 : 구문 오류, 20 행의 index.php에서 예기치 않은 '{' 예상치 못한 기호가 항상 진짜 범인은 아닙니다. 그러나 줄 번호는 어디에서 검색을 시작할지 대략적인 아이디어를 제공합니다. 항상 코드 컨텍스트를 확인하십시오 . 구문 오류는 종종 언급 된 코드 나 이전 코드 줄 에 숨겨져 있습니다. 코드를 매뉴얼의 구문 예제와 비교하십시오. 모든 경우가 다른 경우와 일치하지는 않습니다. 그러나 구문 오류를 해결하기위한 몇 ..

PHP의 배열에서 요소 삭제

질문 : PHP의 배열에서 요소 삭제 foreach ($array) 가 더 이상 해당 요소를 포함하지 않도록 PHP를 사용하여 배열에서 요소를 삭제하는 쉬운 방법이 있습니까? null 설정하면 할 것이라고 생각했지만 분명히 작동하지 않습니다. 답변 배열 요소를 삭제하는 방법에는 여러 가지가 있으며, 일부는 다른 작업보다 특정 작업에 더 유용합니다. 하나의 배열 요소 만 삭제하려면 unset() 또는 \array_splice() 사용할 수 있습니다. 값을 알고 있고 요소를 삭제할 키를 모르는 경우 \array_search() 를 사용하여 키를 가져올 수 있습니다. \array_search 는 첫 번째 히트 만 반환하므로 요소가 두 번 이상 발생하지 않는 경우에만 작동합니다. unset() 을 사용하면 배열..

PHP에서 thread safe 또는 on-thread safe

질문 : PHP에서 스레드 안전 또는 비 스레드 안전은 무엇입니까? 비 스레드 또는 스레드 안전과 같은 PHP 용 다른 바이너리를 보셨습니까? 이것은 무엇을 의미 하는가? 이 패키지의 차이점은 무엇입니까? 답변 다른 웹 서버는 들어오는 HTTP 요청을 병렬로 처리하기 위해 다른 기술을 구현합니다. 꽤 널리 사용되는 기술은 스레드를 사용하는 것입니다. 즉, 웹 서버는 들어오는 각 요청에 대해 단일 스레드를 생성 / 전용합니다. Apache HTTP 웹 서버는 요청 처리를위한 여러 모델을 지원하며, 그중 하나 (작업자 MPM이라고 함)는 스레드를 사용합니다. 그러나 프로세스를 사용하는 프리 포크 MPM이라는 또 다른 동시성 모델을 지원합니다. 즉, 웹 서버는 각 요청에 대해 단일 프로세스를 생성 / 전용합니..

PHP의 모든 위치에 배열에 새 항목 삽입

질문 : PHP의 모든 위치에 배열에 새 항목 삽입 예를 들어 배열 중간과 같은 위치에서 배열에 새 항목을 삽입하려면 어떻게해야합니까? 답변 이것이 좀 더 직관적이라는 것을 알 수 있습니다. array_splice 대한 하나의 함수 호출 만 필요합니다. $original = array( 'a', 'b', 'c', 'd', 'e' ); $inserted = array( 'x' ); // not necessarily an array, see manual quote array_splice( $original, 3, 0, $inserted ); // splice in at position 3 // $original is now a b c x d e 교체가 하나의 요소 일 경우, 요소가 배열 자체, 객체 또는 N..

PHP의 startsWith () 및 endsWith () 함수

질문 : PHP의 startsWith () 및 endsWith () 함수 문자열을 받아서 지정된 문자 / 문자열로 시작하거나 끝나는 경우 반환하는 두 개의 함수를 어떻게 작성할 수 있습니까? 예를 들면 : $str = '|apples}'; echo startsWith($str, '|'); //Returns true echo endsWith($str, '}'); //Returns true 답변 function startsWith( $haystack, $needle ) { $length = strlen( $needle ); return substr( $haystack, 0, $length ) === $needle; } function endsWith( $haystack, $needle ) { $length ..

PHP로 POST 요청을 보내는 방법

질문 : PHP로 POST 요청을 보내려면 어떻게해야합니까? 실제로는 검색어가 끝나면 검색 쿼리 뒤에 오는 내용을 읽고 싶습니다. 문제는 URL이 POST GET 메서드로 어떤 조치도 취하지 않는다는 것입니다. domdocument 또는 file_get_contents() 의 도움으로 모든 내용을 읽어야합니다. POST 메서드로 매개 변수를 보낸 PHP 를 통해 내용을 읽을 수있는 방법이 있습니까? 답변 PHP5를 사용한 컬리스 방법 : $url = 'http://server.com/path'; $data = array('key1' => 'value1', 'key2' => 'value2'); // use key 'http' even if you send the request to https://... $..

PHP 발생한 오류를 확인 하는 방법

질문 : PHP 오류를 표시하려면 어떻게해야합니까? 내 PHP ini 파일 ( php.ini )을 확인했고 display_errors 가 설정되었고 오류보고도 E_ALL 입니다. Apache 웹 서버를 다시 시작했습니다. 이 줄을 스크립트 맨 위에 놓았으며 간단한 구문 분석 오류도 포착하지 못합니다. 예를 들어, "$" ";" 문을 닫지 않습니다. . 그러나 모든 스크립트는 이러한 오류에 대해 빈 페이지를 표시하지만 실제로 브라우저 출력에서 오류를보고 싶습니다. error_reporting(E_ALL); ini_set('display_errors', 1); 해야 할 일은 무엇입니까? 답변 이것은 항상 나를 위해 작동합니다. ini_set('display_errors', '1'); ini_set('disp..

참조-PHP에서 발생하는 오류 목록

질문 : 참조-PHP에서이 오류는 무엇을 의미합니까? What is this? 이것은 PHP를 프로그래밍하는 동안 발생할 수있는 경고, 오류 및 알림에 대한 여러 답변이며 해결 방법에 대한 단서가 없습니다. 이것은 또한 커뮤니티 위키이므로 모든 사람이이 목록을 추가하고 유지하는 데 참여하도록 초대됩니다. What is this? "헤더가 이미 전송되었습니다" 또는 "비 개체의 구성원에게 전화하기 "와 같은 질문이 스택 오버플로에 자주 나타납니다. 이러한 질문의 근본 원인은 항상 동일합니다. 따라서 이러한 질문에 대한 답변은 일반적으로 반복 한 다음 특정 경우에 변경할 줄을 OP에 표시합니다. 이 답변은 OP의 특정 코드에만 적용되므로 사이트에 가치를 추가하지 않습니다. 동일한 오류가있는 다른 사용자는 너..

PHP 'foreach'의 작동 원리

질문 : PHP 'foreach'는 실제로 어떻게 작동합니까? foreach 가 무엇인지, 무엇을하고 어떻게 사용하는지 알고 있다고 말하면서 접두사를 붙여 보겠습니다. foreach 로 배열을 루프하는 방법입니다"라는 줄에 대한 답변을 원하지 않습니다. 오랫동안 나는 foreach 가 어레이 자체와 함께 작동한다고 가정했습니다. 그런 다음 나는 그것이 배열의 사본 과 함께 작동한다는 사실에 대한 많은 참조를 발견했으며 이후 이것이 이야기의 끝이라고 가정했습니다. 하지만 최근에이 문제에 대해 토론을했고 약간의 실험 끝에 이것이 사실 100 % 사실이 아님을 발견했습니다. 무슨 말인지 보여 드리겠습니다. 다음 테스트 케이스의 경우 다음 배열로 작업합니다. $array = array(1, 2, 3, 4, 5)..

PHP를 사용하여 배열이 비어 있는지 확인하는 방법

질문 : PHP를 사용하여 배열이 비어 있는지 확인하는 방법은 무엇입니까? players 는 비어 있거나 쉼표로 구분 된 목록 (또는 단일 값)입니다. 비어 있는지 확인하는 가장 쉬운 방법은 무엇입니까? $gameresult 배열을 $gamerow 로 가져 오자마자 그렇게 할 수 있다고 가정합니다. $playerlist 가 비어 있으면 폭발하는 것을 건너 뛰는 것이 더 효율적일 수 있지만 인수를 위해 배열도 비어 있는지 어떻게 확인할 수 있습니까? $gamerow = mysql_fetch_array($gameresult); $playerlist = explode(",", $gamerow['players']); 답변 배열에 요소가 있는지 확인해야하는 경우 if (empty($playerlist)) { //..

PHP에서 문자열을 숫자로 변환하는 방법

질문 : PHP에서 문자열을 숫자로 어떻게 변환합니까? 이러한 유형의 값 '3' , '2.34' , '0.234343' 등을 숫자로 변환하고 싶습니다. JavaScript에서 Number() 사용할 수 있지만 PHP에서 사용할 수있는 유사한 방법이 있습니까? Input Output '2' 2 '2.34' 2.34 '0.3454545' 0.3454545 답변 PHP는 대부분의 상황에서 유형을 강제하므로 일반적으로이 작업을 수행 할 필요가 없습니다. 유형을 명시 적으로 변환하려는 경우에는 다음과 같이 캐스트 하십시오. $num = "3.14"; $int = (int)$num; $float = (float)$num; 출처 : https://stackoverflow.com/questions/8529656/how..

PHP에서 정수를 문자열로 변환

질문 : PHP에서 정수를 문자열로 변환 PHP에서 정수를 문자열로 변환하는 방법이 있습니까? 답변 strval() 함수를 사용하여 숫자를 문자열로 변환 할 수 있습니다. 유지 관리 관점에서 볼 때 다른 더 난해한 답변보다 무엇을 하려는지 분명합니다. 물론 상황에 따라 다릅니다. $var = 5; // Inline variable parsing echo "I'd like {$var} waffles"; // = I'd like 5 waffles // String concatenation echo "I'd like ".$var." waffles"; // I'd like 5 waffles // The two examples above have the same end value... // ... And so d..

PHP에서 HTML / XML을 구문 분석하는 방법

질문 : PHP에서 HTML / XML을 어떻게 구문 분석하고 처리합니까? HTML / XML을 구문 분석하고 정보를 추출하려면 어떻게해야합니까? 답변 네이티브 XML 확장 PHP와 함께 제공되고 일반적으로 모든 타사 라이브러리보다 빠르며 마크 업에 필요한 모든 제어 기능을 제공하므로 기본 XML 확장 중 하나를 사용하는 것을 선호합니다. DOM DOM 확장을 사용하면 PHP 5와 함께 DOM API를 통해 XML 문서에서 작업 할 수 있습니다. 이는 프로그램과 스크립트가 동적으로 액세스하고 업데이트 할 수 있도록하는 플랫폼 및 언어 중립적 인터페이스 인 W3C의 Document Object Model Core Level 3의 구현입니다. 문서의 내용, 구조 및 스타일. DOM은 실제 (깨진) HTML을..

PHP 메일 기능이 이메일 전송을 완료하지 못할 경우 체크할 사항들

질문 : PHP 메일 기능이 이메일 전송을 완료하지 못함 간단한 메일 양식을 만들어 보았습니다. 양식 자체는 내 index.html 페이지에 있지만 위의 PHP 코드가 삽입 된 별도의 "제출해 주셔서 감사합니다"페이지 인 thankyou.php 코드는 완벽하게 제출되지만 이메일을 보내지 않습니다. 이 문제를 어떻게 해결할 수 있습니까? 답변 이 답변의 일부가 mail() 함수 자체의 사용에만 적용되지만 이러한 문제 해결 단계의 대부분은 모든 PHP 메일 링 시스템에 적용될 수 있습니다. 스크립트가 이메일을 보내지 않는 것처럼 보이는 데에는 여러 가지 이유가 있습니다. 명백한 구문 오류가 없으면 이러한 것들을 진단하기가 어렵습니다. 하나가 없으면 아래 체크리스트를 실행하여 발생할 수있는 잠재적 인 함정을 ..

PHP 에서 자주 쓰이는 기호 목록

질문 : 참조 —이 기호는 PHP에서 무엇을 의미합니까? 이것은 PHP의 구문에 대한 질문 모음입니다. 이것은 또한 커뮤니티 위키이므로 모든 사람이이 목록을 유지하는 데 참여하도록 초대됩니다. 연산자 및 기타 구문 토큰에 대한 질문을 찾기가 어려웠습니다 .¹ 주요 아이디어는 Stack Overflow에있는 기존 질문에 대한 링크를 갖는 것이므로 PHP 매뉴얼의 내용을 복사하지 않고 참조하기가 더 쉽습니다. 참고 : 2013 년 1 월부터 Stack Overflow 는 특수 문자를 지원합니다 . 검색어를 따옴표로 묶으십시오. 예 : [php] "==" vs "===" 그러한 질문을했기 때문에 누군가가 여기에서 지적한 경우 아래 특정 구문을 찾으십시오. 링크 된 질문과 함께 PHP 매뉴얼에 링크 된 페이지가..

728x90
반응형