Lorsque vous utilisez PHP pour réaliser des projets, vous devez utiliser une structure de données pour stocker les données, mais en PHP, il semble qu'elles ne puissent être stockées qu'à l'aide de tableaux.
Les fichiers de configuration de Laravel de PHP et d'autres frameworks utilisent tous des tableaux multidimensionnels, tels que?:
// app/config/database.php 文件
return array(
/*
|--------------------------------------------------------------------------
| PDO 類型
|--------------------------------------------------------------------------
| 默認(rèn)情況下 Laravel 的數(shù)據(jù)庫是用 PDO 來操作的,這樣能極大化的提高數(shù)據(jù)庫兼容性。
| 那么默認(rèn)查詢返回的類型是一個(gè)對(duì)象,也就是如下的默認(rèn)設(shè)置。
| 如果你需要返回的是一個(gè)數(shù)組,你可以設(shè)置成 'PDO::FETCH_ASSOC'
*/
'fetch' => PDO::FETCH_CLASS,
/*
|--------------------------------------------------------------------------
| 默認(rèn)的數(shù)據(jù)庫連接名
|--------------------------------------------------------------------------
| 這里所說的名字是和下面的 'connections' 中的名稱對(duì)應(yīng)的,而不是指你用的什么數(shù)據(jù)庫
| 為了你更好的理解,我在這里換了一個(gè)名字
*/
'default' => 'meinv',
/*
|--------------------------------------------------------------------------
| 數(shù)據(jù)庫連接名
|--------------------------------------------------------------------------
| 這里就是設(shè)置各種數(shù)據(jù)庫的配置的,每個(gè)數(shù)組里的 'driver' 表明了你要用的數(shù)據(jù)庫類型
| 同一種數(shù)據(jù)庫類型可以設(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ù)庫名,實(shí)際上是 mysql 數(shù)據(jù)庫
'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' => '',
),
),
);
Je pense que l'efficacité des tableaux multidimensionnels sera très faible, mais le framework Laravel est utilisé de cette manière, donc je ne sais pas s'il est réalisable d'utiliser des tableaux multidimensionnels en PHP, j'espère que vous pourrez y répondre. ! ! ! Merci! ! !
認(rèn)證高級(jí)PHP講師
Il n'y a que des tableaux en PHP, vous n'avez pas le choix. Laravel est un framework basé sur PHP, sa syntaxe ne peut donc pas être séparée de PHP ;
L'efficacité dépend de la fa?on dont vous l'utilisez. Bien s?r, les opérations de boucle multicouches seront inefficaces, mais si vous utilisez plus d'index, l'efficacité sera correcte
Il n’y a pas de problème de faible efficacité. . L'implémentation des tableaux de PHP est à l'origine une liste doublement cha?née. .
Ce n'est pas un problème d'efficacité. L'efficacité des requêtes de base de données est plus importante
L'efficacité d'exécution ne dépend pas de la vitesse d'exécution de php, les IO sont le goulot d'étranglement. Cette chose peut être traitée par PHP au niveau MS
Laravel?: Je n’assumerai pas cette responsabilité?!
Les fichiers de configuration de la plupart des frameworks et programmes PHP sont comme ?a. Si l'efficacité diminue vraiment, le framework Laravel, en tant que leader de PHP, utilisera certainement une meilleure fa?on de le gérer.
De plus, PHP7 est beaucoup plus efficace dans les opérations sur les tableaux que PHP5.
Existe-t-il de nombreux projets qui utilisent JSON pour enregistrer les configurations??
Le tableau associatif en PHP est équivalent à l'objet JSON en JS
Vous pouvez donc comparer les performances du tableau associatif de PHP avec l'objet JSON de Node.JS. fichier contenant un tableau associatif (cartographie/dictionnaire) de 1 million d'éléments?:
PHP7 ne prend que 1/3 de Node7, et même PHP5 est plus rapide que Node7 On voit que les performances du tableau associatif PHP sont assez. bien .
Tout d'abord, permettez-moi de mentionner un point. Il est absurde de parler d'efficacité sans utiliser le scénario d'utilisation. Utilisez-le si vous avez besoin d'efficacité de développement php
, 需要運(yùn)行效率就去用 c/c++
.
Répondez à la question?: c'est tout à fait faisable lorsque le trafic du site Web n'est pas important.