国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

PHP 使用多維數(shù)組,效率會(huì)不會(huì)很低呢?
PHP中文網(wǎng)
PHP中文網(wǎng) 2017-06-15 09:22:11
0
7
1011

在使用PHP做項(xiàng)目時(shí),需要用到存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),但是在PHP 中,目前好像只能用數(shù)組來存儲(chǔ)。

PHP的Laravel等框架的配置文件都是使用的多維數(shù)組,如:

// app/config/database.php 文件
return array(
    /*
    |--------------------------------------------------------------------------
    | PDO 類型
    |--------------------------------------------------------------------------
    | 默認(rèn)情況下 Laravel 的數(shù)據(jù)庫(kù)是用 PDO 來操作的,這樣能極大化的提高數(shù)據(jù)庫(kù)兼容性。
    | 那么默認(rèn)查詢返回的類型是一個(gè)對(duì)象,也就是如下的默認(rèn)設(shè)置。
    | 如果你需要返回的是一個(gè)數(shù)組,你可以設(shè)置成 'PDO::FETCH_ASSOC'
    */
    'fetch' => PDO::FETCH_CLASS,

    /*
    |--------------------------------------------------------------------------
    | 默認(rèn)的數(shù)據(jù)庫(kù)連接名
    |--------------------------------------------------------------------------
    | 這里所說的名字是和下面的 'connections' 中的名稱對(duì)應(yīng)的,而不是指你用的什么數(shù)據(jù)庫(kù)
    | 為了你更好的理解,我在這里換了一個(gè)名字
    */
    'default' => 'meinv',

    /*
    |--------------------------------------------------------------------------
    | 數(shù)據(jù)庫(kù)連接名
    |--------------------------------------------------------------------------
    | 這里就是設(shè)置各種數(shù)據(jù)庫(kù)的配置的,每個(gè)數(shù)組里的 'driver' 表明了你要用的數(shù)據(jù)庫(kù)類型
    | 同一種數(shù)據(jù)庫(kù)類型可以設(shè)置多種配置,名字區(qū)分開就行,就像下面的 'mysql' 和 'meinv'
    | 其他的么,我覺得不需要解釋了吧,就是字面意思,我相信你英文的能力(其實(shí)是我英文不好)
    */
    'connections' => array(

        'sqlite' => array(
            'driver'   => 'sqlite',
            'database' => __DIR__.'/../database/production.sqlite',
            'prefix'   => '',
        ),

        'mysql' => array(
            'driver'    => 'mysql',
            'host'      => 'localhost',
            'database'  => 'database',
            'username'  => 'root',
            'password'  => '',
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
        ),

        'meinv' => array( //這里就是上面例子里的默認(rèn)連接數(shù)據(jù)庫(kù)名,實(shí)際上是 mysql 數(shù)據(jù)庫(kù)
            'driver'    => 'mysql',
            'host'      => 'localhost',
            'database'  => 'database',
            'username'  => 'root',
            'password'  => '',
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
        ),

        'pgsql' => array(
            'driver'   => 'pgsql',
            'host'     => 'localhost',
            'database' => 'database',
            'username' => 'root',
            'password' => '',
            'charset'  => 'utf8',
            'prefix'   => '',
            'schema'   => 'public',
        ),

        'sqlsrv' => array(
            'driver'   => 'sqlsrv',
            'host'     => 'localhost',
            'database' => 'database',
            'username' => 'root',
            'password' => '',
            'prefix'   => '',
        ),

    ),
);

我覺得多維數(shù)組的效率會(huì)很低,但是Laravel框架都是這樣用的,所以我不清楚在 PHP 中使用多維數(shù)組到底可行不可行,希望大家解答?。?! 謝謝了?。?!

PHP中文網(wǎng)
PHP中文網(wǎng)

認(rèn)證高級(jí)PHP講師

全部回復(fù)(7)
為情所困
  1. PHP中只有數(shù)組,你沒得選擇,laravel是基于PHP的框架,所以他的語法不可能脫離PHP;

  2. 效率這種東西得看你怎么用,多層for循環(huán)操作當(dāng)然效率會(huì)低,但是如果多通過索引的話效率還行

學(xué)霸

不存在效率低這種問題的。。PHP 的數(shù)組實(shí)現(xiàn)本來就是個(gè)雙向鏈表。。

淡淡煙草味

這個(gè)沒有效率問題 數(shù)據(jù)庫(kù)查詢上的效率比較重要

洪濤

執(zhí)行效率不在于php的運(yùn)行速度,IO才是瓶頸。這點(diǎn)東西大php處理ms級(jí)的

洪濤

Laravel:這鍋我不背!

絕大多數(shù)PHP框架和程序的配置文件都是這樣的,如果效率真的下降,作為PHP領(lǐng)跑者的Laravel框架肯定會(huì)使用更好的方式來處理。

另外PHP7比PHP5在數(shù)組操作方面效率高了很多。

學(xué)霸

使用JSON保存配置的項(xiàng)目是不是很多.
PHP中的關(guān)聯(lián)數(shù)組就等價(jià)于JS中的JSON對(duì)象.
所以可以把PHP的關(guān)聯(lián)數(shù)組跟Node.JS的JSON對(duì)象進(jìn)行性能對(duì)比.
生成一個(gè)包含100萬個(gè)元素的關(guān)聯(lián)數(shù)組(映射/字典):
PHP7的耗時(shí)僅為Node7的1/3,就連PHP5都比Node7要快.

可見PHP關(guān)聯(lián)數(shù)組的性能是相當(dāng)好的.

我想大聲告訴你

首先, 提及一點(diǎn), 脫離了使用場(chǎng)景談效率都是扯淡, 需要開發(fā)效率就用 php, 需要運(yùn)行效率就去用 c/c++.

回答問題: 網(wǎng)站訪問量不大的情況下非??尚?

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板