>  기사  >  백엔드 개발  >  laravel - PHP, 왜 객체를 사용하나요? 대신 배열을 사용할 수는 없나요?

laravel - PHP, 왜 객체를 사용하나요? 대신 배열을 사용할 수는 없나요?

WBOY
WBOY원래의
2016-09-24 09:15:071329검색

laravel orm처럼 쿼리빌더를 이용하면 안되나요?

답글 내용:

laravel orm처럼 쿼리빌더를 이용하면 안되나요?

PHP가 SQL 쿼리의 결과 집합을 저장하기 위해 배열을 사용하는 것이 정상 아닌가요?
PDO fetchAll은 배열을 반환합니다.
$db->query('SELECT * FROM posts')->fetchAll(PDO::FETCH_ASSOC);
PHP 배열 작업은 매우 복잡합니다. 유연하므로 정렬 및 그룹화와 같은 SQL 작업도 포함하여 많은 작업을 수행할 수 있습니다.

<code><?php
//奥运奖牌榜,依次按金牌,银牌,铜牌的数目进行降序排序.
header('Content-Type: text/plain; charset=utf-8');
$arr = array(
    '中国' => array(
        '金牌' => 8,
        '银牌' => 3,
        '铜牌' => 6,
    ),
    '俄罗斯' => array(
        '金牌' => 3,
        '银牌' => 6,
        '铜牌' => 3,
    ),
    '美国' => array(
        '金牌' => 6,
        '银牌' => 8,
        '铜牌' => 8,
    ),
    '澳大利亚' => array(
        '金牌' => 4,
        '银牌' => 0,
        '铜牌' => 4,
    ),
    '意大利' => array(
        '金牌' => 3,
        '银牌' => 4,
        '铜牌' => 2,
    ),

);

// 实现 ORDER BY
foreach($arr as $k => $v) {
    $sort['金牌'][$k] = $v['金牌'];
    $sort['银牌'][$k] = $v['银牌'];
    $sort['铜牌'][$k] = $v['铜牌'];
}
array_multisort(
    $sort['金牌'], SORT_DESC, 
    $sort['银牌'], SORT_DESC, 
    $sort['铜牌'], SORT_DESC, 
    $arr);
var_export($arr);

// 实现 GROUP BY (看看'金牌'字段都有哪些值)
$tmp = array();
foreach($arr as $k => $v) {
    if(in_array($v['金牌'], $tmp) === FALSE) {
        $tmp[] = $v['金牌'];
    }
}
var_export($tmp);</code>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.