Web/PHP

PHP json 변환, 배열 추가, 부분자르기

_sparrow 2020. 4. 29. 00:08
반응형

배열

배열 맨뒤에 추가하기 array_push()

		
        $fruitArr = array("orange", "banana"); // 배열 선언하기
        
        array_push($fruitArr, "apple", "watermelon"); //배열 맨뒤에 추가하기
        
        print_r($fruitArr); // 배열 출력

        var_dump($fruitArr);  // 배열 출력(문자형태, 길이 까지 출력)

 

array_push(배열, 넣을 배열변수명) 으로 사용하면 됩니다.

 

결과

 

var_dump와 print_r 메서드를 사용하면 배열이 어떻게 구성되어있는지 쉽게 알 수 있습니다.

 

배열 자르기 array_splice()

        
		$fruitArr = array("orange", "banana","apple", "watermelon");
        print_r("배열\n");
        print_r($fruitArr);

        array_splice($fruitArr, 1, 1); // 1번 배열 길이 1개 삭제

        print_r("\narray_splice 메서드를 사용한 배열부분 삭제\n");
        print_r($fruitArr);

array_splice(배열, 배열자를 위치(인덱스 값), 길이(인덱스부터 얼마나 자를 건지));

 

 

array_splice() 메서드

특징은 리스트처럼 자르고 나서 배열 인덱스들이 앞당겨집니다.

 

 

 

결과

 

JSON 

json_encode()

php 객체나 배열이 JSON 형태로 변환됩니다.

옵션으로 JSON_UNESCAPED_UNICODE 를 넣어줘야 한글이 깨지지 않습니다.

 

$arr = array('오렌지' => 1, '바나나' => 2, '사과' => 3, '수박' => 4);

        print_r("\n전체 출력\n");
        print_r($arr);

        $idList = json_encode($arr,JSON_UNESCAPED_UNICODE); //JSON형태로 변환

        print_r("문자 형태로 변환\n");
        print_r($idList[0]);

        print_r("\n전체 출력\n");
        print_r($idList);

json_encode()

JSON 형태가 php 객체나 배열로 변환됩니다.

객체와 배열 변환하고 싶은 것은 option으로 선택할 수 있습니다.

옵션으로  false 거나 옵션 없이 사용하면 객체 변환true면 배열 변환

 

        $json = '{"오렌지":1,"바나나":2,"사과":3,"수박":4}';

        print_r("\n객체변환\n");
        $obj = json_decode($json);// false거나 옵션없이 사용하면 객체변환
        var_dump(json_decode($json));

        print_r("\n".'print_r($obj->오렌지);'."\n");

        print_r($obj->오렌지."\n");


        print_r("\n배열변환\n");
        $arr = json_decode($json, true); // true면 배열변환
        var_dump(json_decode($json, true));

        print_r("\n".'nprint_r($arr["오렌지"]);'."\n");

        print_r($arr["오렌지"]);

 

 

 

 

배열을 객체변환

객체를 배열 변환

 

<?php
 
$array = [ 'name' => 'My name', 'email' => 'myemail@example'];
 
echo $array['name'] . "\n";
 
// object 로 변환
$obj = (object) $array;
 
echo $obj ->name . "\n";
 
// 배열로 변환
$arr2 = (array) $obj;
 
echo $arr2['name'] . "\n";
?>

 

 

상세한 내용은 PHP공식홈페이지에 검색하시면 됩니다.

 

반응형