본문으로 바로가기

자주 쓰는 것들

category 코딩/PHP 2023. 1. 19. 23:56

 

2차원 배열 특정 key 합계 구하기 array_sum array_column

2차원 배열 value 로 key 찾기 array_search array_column

$arr[0]['idx'] = 'a';
$arr[0]['sales'] = 11;

$arr[1]['idx'] = 'b';
$arr[1]['sales'] = 2;

echo array_sum(array_column($arr, 'sales'));
// 13

echo array_search('b', array_column($arr, 'idx'));
// 1

 

JSON 자식 노드 만들기 array_merge

$arr[0]['idx'] = 'a';
$arr[0]['sales'] = 11;

$arr[1]['idx'] = 'b';
$arr[1]['sales'] = 2;

$arr[1]['_children'] = array_merge($arr);

$arr[2]['idx'] = 'c';
$arr[2]['sales'] = 8;

echo json_encode($arr);
// [{"idx":"a","sales":11},{"idx":"b","sales":2,"_children":[{"idx":"a","sales":11},{"idx":"b","sales":2}]},{"idx":"c","sales":8}]

 

배열로 DB 만들기

$arr_size = array(
    'S' => 1, '50*70' => 1, '30*45' => 1, 'L' => 1,
    'SS' => 2, '40*60' => 2,
    'D' => 3, '50*100' => 3, '35*35' => 3,
    'Q' => 4, '60*80' => 4, '35*37' => 4, 'XL' => 4,
    'K' => 5, '30*50' => 5, '35*50' => 5, 'XS' => 5,
);

echo $arr_size['D']
// 3

 

특정 날짜까지 반복하기

$date_from = '2022-12-01';
$date_to = '2022-12-03';

$i = 0;

while (date('Y-m-d', strtotime($date_from." +$i day")) <= $date_to) {

    $date = date('Y-m-d', strtotime($date_from ."+$i day"));

    echo $date.'<br>';

	$i++;

}
// 2022-12-01
// 2022-12-02
// 2022-12-03