배열의 키가 맞으면 리턴해주는 함수 > PHP
PHP

배열의 키가 맞으면 리턴해주는 함수

조회 55회 댓글 0건

본인이 만든 배열은 이상하거나 복잡하거나 그런것이 있을 리가 없겠지요.

하지만 json을 배열로 변경하거나 외부에서 데이터를 가져온 경우 접근 하는데 문제가 있을 수 있습니다.

그리고 json을 배열로 변환한 경우 그 안에 있는 일부만 리턴을 받아 사용하려는데 순차적으로 접근이 힘든 경우가 있는데 이런 경우 유용한 함수 입니다.



  function findElements( array $array, string $keyToFind) {
    $iterator  = new RecursiveArrayIterator($array);
    $recursive = new RecursiveIteratorIterator(
      $iterator,
      RecursiveIteratorIterator::SELF_FIRST
    );

    foreach ($recursive as $key => $value) {
      if ($key === $keyToFind) {
        return $value;
      }
    }

    return null;
  }
 



  /**
   * 원하는 부분의 배열을 찾아 리턴
   *
   * @param mixed $array
   * @param string $keyToFind
   * @return array|null
   */
  function findElementsInArray( array $array, string $keyToFind = 'elements') {
    foreach($array as $key => $value) {
      if($key === $keyToFind && is_array($value) ) {
        return $value;
      } elseif(is_array($value)) {
        $result = findElementsInArray($value, $keyToFind);
        if(is_array($result)) {
          return $result;
        }
      }
    }
    return null;
  }
 


이부분은 재귀호출을 하는데 전체 배열의 키를 모두 볼 수 있는 방법에서 특정 조건이 맞으면 그 배열을 리턴해 주는 방식 입니다.

찾은 배열의 값을 리턴 할 때 재귀 호출이기 때문에 두번 들어가게 됩니다.


  • 페이스북으로 공유
  • 트위터로  공유
  • 구글플러스로 공유
전체 183건 1 페이지
  • profile_image 리눅스 환경에서 쉘에서 PHP를 실행하는 방법은 여러 가지가 있습니다.cron 스케줄에 넣어 사용해야 되는 경우 유용 하죠~선호 하는 방법은 php 전체 경로로 지정하는 첫번째 방식이 후에 php 버전이 변경 되었을때 대응하기가 더 편한 부분이 있습니다.● CLI(Command Line Interface) 방식 실행PHP CLI는 커맨드 라인에서 PHP 스크립트를 실행하기 위한 모드로서 직접 PHP를 실행하려면, 터미널에서 다음과 같이 명령어를…
  • profile_image 컴포저로 다운로드 받고 autoload 사용하기 위해서 설치 하려는데 잘 안되었던 부분 없애고 잘 된 부분만 정리해서 올립니다.최신 버전을 사용하시는 분은 이렇게 까지 할 필요는 없고 보통 기본으로 설치 되어 있습니다.여기서 php 경로를 지정해야 될 수 있습니다. 자신의 서버 환경에 맞게 지정하면 됩니다.1) 각 버전별 컴포저 다운로드 받기오래된 버전이라서 최근것을 사용하면 문제가 발생 할 수 있기 때문에 5.4 버전에 맞는 버전을 찾아 설치…
  • profile_image 파일은 없는데 아래와 같은 형태로 읽혀 들이는 것이 있다면 pear이 설치 되어 있는지 확인해 봐야 한다. 아래쪽에 보면 find명령으로 찾는것이 있으니 참고하면 된다. require_once 'PEAR.php';그래서 이 프로그램은 어떤 프로그램인가 궁금할 수도 있는데 예를 들면 아래와 같은 mime 처리 해주는 라이브러리가 있는데 PEAR.php 기반 위에 만들어진것이다.즉 PEAR.php 땅 위에 mime가 올라가 있는것이라 생각하면 된다…
  • profile_image 방문자의 출처 및 현재 페이지를 저장하기 위한 함수 입니다.페이지가 있는 페이지의 경우는 1페이만 저장해도 되는경우가 많습니다.방문자가 적은 사이트면 처리하는 부하가 많이 않으니 모두 저장하는것이 더 좋습니다. 생각보다 용량 많이 차지 하지 않습니다.단, 웨봇이나 클롤러의 경우는 필요하지 않으니 제외하는것이 좋겠습니다.아래는 출처와 키워드가 있을 경우 저장하는 함수 입니다.  /**   * user visit log write   *   * @…
  • profile_image 처음 배울때 만들어 보는 것중 하나 입니다. 삼각형은 중앙에 정렬된 별로 구성되어 있으며, 각 줄의 별의 수는 1, 3, 5로 증가합니다. 각 줄마다 양쪽에 적절한 수의 공백이 필요합니다. 이를 위해 다섯 가지 방법으로 구현된 메소드를 갖는 클래스를 작성의 예 입니다.    <?php  class CenteredTrianglePrinter {      // 첫 번째 방법: 중앙 정렬 반복문 사용      public function pri…
  • profile_image "Malformed UTF-8 characters, possibly incorrectly encoded" 오류는 PHP가 JSON 데이터를 디코딩하려고 시도할 때, 그 데이터가 올바른 UTF-8 형식이 아니라고 판단했을 때 발생하는데 비 UTF-8 문자나 이진 데이터가 JSON 문자열에 포함되어 있을 때 일어난다. 웹에서 긁어서 복사해온 경우 2바이트로 처리 되거나 그런것들이 있는데 잘 보세요. 한글도 없는데 문제가 생기는 경우는 작은 따음…
  • profile_image PHP에서 "Cannot use a scalar value as an array"라는 오류 메시지는 스칼라 값(정수, 부동소수점 수, 문자열 또는 불리언)을 배열처럼 사용하려고 시도할 때 발생합니다. 아래에는 이 오류가 발생하는 두 가지 예시를 들어 보겠습니다.1. 일반적인 절차형 코드    $var = "Hello, World!";  $var[1] = "a"; // 이 라인에서 오류가 발생합니다.위의 코드에서는 문자열 $var에 배열 인덱스를…