一个只有在精神病院住过的人才能想到的写法
下面是某框架源码,我读到图中所示这里愤怒的拍案而起,但马上又冷静下来原谅了作者,因为这种代码只有只有在精神病院住过的人才能想到的写法,所以不能和他计较了。
事想是这样的,一个类中的方法read里面用分割替换来判断情况及采取的措施,让人不解的是,在实例化时,代进去的参数里没有逗号,如何分割 呢?这种情况肯定不在其中,比如代进去的参数是home_index_index,假如此时下文还有if的话也可,但是下面木了,可让人捉摸不透的是,在模板中竟然能够获取数据,晕!你们谁能知道这个精神病是怎么玩的吗
回复讨论(解决方案)
输出一下$file看看
输出一下$file看看
输出一下$file看看
输出的结果是
core_lang_indexcommon,home_layout
$s = 'abcd';$tmp = explode(',', $s);print_r($tmp);
Array( [0] => abcd)
明明是没有逗号,却也产生了数组。你说这是为什么呢?
不要总说人家“吸毒”、“精神病”,一付愤世嫉俗的样子,这样会使自己变得浮躁
你只需动动手,就知道他为什么会这样写了
home_index_index
能得到
core_lang_indexcommon,home_layout
?
关键是 实参home_index_index中没有逗号哈,所以用read方法没法替这个逗号哈,如果没法替就无法用逗号分割 成数组,那么就更无法接着执行下面的foreach了,整个逻辑直接完蛋了!我靠真不知这是怎么打印出来的
$s = 'abcd';$tmp = explode(',', $s);print_r($tmp);
Array( [0] => abcd)
明明是没有逗号,却也产生了数组。你说这是为什么呢?
不要总说人家“吸毒”、“精神病”,一付愤世嫉俗的样子,这样会使自己变得浮躁
你只需动动手,就知道他为什么会这样写了
这么写好象不对吧! abcd中没有逗号,你用explode分害啥?
对!
你没看到你贴图中下图的3行是 explode 吗?
字符串中可能有逗号,也可能没有逗号
为了统一处理的方便,当然是假定他有了
用 explode 分割了就变成了数组,这样就可以在循环里处理了
至于循环体执行了一次还是几次就不必去管了
关键是 实参home_index_index中没有逗号哈,所以用read方法没法替这个逗号哈,如果没法替就无法用逗号分割 成数组,那么就更无法接着执行下面的foreach了,整个逻辑直接完蛋了!我靠真不知这是怎么打印出来的
我 #3 那么浅显的例子也没看懂吗?
关键是 实参home_index_index中没有逗号哈,所以用read方法没法替这个逗号哈,如果没法替就无法用逗号分割 成数组,那么就更无法接着执行下面的foreach了,整个逻辑直接完蛋了!我靠真不知这是怎么打印出来的
我 #3 那么浅显的例子也没看懂吗?
明白了,不过应该是推理出来的,因为php手册上也没有,所以我有点感悟,其实很多行业都有不可告人的潜规则,php也一样。
其实这里用逗号不是目的,目的是把这个字符串转为数组,而转为数组就必须分割,而分割却没有可分之外,一般初学者会想到用空白分,但是explode函数里面有一个潜规则,那就是用一个在该字符串中没有的符号去分这个字符串,是不会报错的,并且返回的是一个数组。这就是php潜规则之一,进而得出结论,用潜规则写代码的人都是装疯卖傻的人
是吗?手册中命名写到:
如果 separator 所包含的值在 string 中找不到,那么 explode() 将返回包含 string 单个元素的数组。
此处用别的号也行,你用文字分割也行$tmp = explode('我我我',$file);
所以更得出一个结论来了,如果你要想成为php大牛,你必须要熟练的知道和掌握及书写这种看上去象进过精神病院似的写法,但是可悲的是,绝大多数的php教程都没有这种潜规则介绍,真让人发指啊

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Lange URLs, die oft mit Schlüsselwörtern und Tracking -Parametern überfüllt sind, können Besucher abschrecken. Ein URL -Verkürzungsskript bietet eine Lösung, die präzise Links erstellt, die ideal für soziale Medien und andere Plattformen sind. Diese Skripte sind für einzelne Websites a wertvoll

Nach seiner hochkarätigen Akquisition durch Facebook im Jahr 2012 nahm Instagram zwei APIs für den Einsatz von Drittanbietern ein. Dies sind die Instagram -Graph -API und die Instagram Basic Display -API. Ein Entwickler, der eine App erstellt, die Informationen von a benötigt

Laravel vereinfacht die Behandlung von temporären Sitzungsdaten mithilfe seiner intuitiven Flash -Methoden. Dies ist perfekt zum Anzeigen von kurzen Nachrichten, Warnungen oder Benachrichtigungen in Ihrer Anwendung. Die Daten bestehen nur für die nachfolgende Anfrage standardmäßig: $ Anfrage-

Dies ist der zweite und letzte Teil der Serie zum Aufbau einer Reaktionsanwendung mit einem Laravel-Back-End. Im ersten Teil der Serie haben wir eine erholsame API erstellt, die Laravel für eine grundlegende Produktlistenanwendung unter Verwendung von Laravel erstellt hat. In diesem Tutorial werden wir Dev sein

Laravel bietet eine kurze HTTP -Antwortsimulationssyntax und vereinfache HTTP -Interaktionstests. Dieser Ansatz reduziert die Code -Redundanz erheblich, während Ihre Testsimulation intuitiver wird. Die grundlegende Implementierung bietet eine Vielzahl von Verknüpfungen zum Antworttyp: Verwenden Sie Illuminate \ Support \ facades \ http; Http :: fake ([ 'Google.com' => 'Hallo Welt',, 'github.com' => ['foo' => 'bar'], 'Forge.laravel.com' =>

Die PHP Client -URL -Erweiterung (CURL) ist ein leistungsstarkes Tool für Entwickler, das eine nahtlose Interaktion mit Remote -Servern und REST -APIs ermöglicht. Durch die Nutzung von Libcurl, einer angesehenen Bibliothek mit Multi-Protokoll-Dateien, erleichtert PHP Curl effiziente Execu

Möchten Sie den dringlichsten Problemen Ihrer Kunden in Echtzeit und Sofortlösungen anbieten? Mit Live-Chat können Sie Echtzeitgespräche mit Kunden führen und ihre Probleme sofort lösen. Sie ermöglichen es Ihnen, Ihrem Brauch einen schnelleren Service zu bieten

Die 2025 PHP Landscape Survey untersucht die aktuellen PHP -Entwicklungstrends. Es untersucht Framework -Nutzung, Bereitstellungsmethoden und Herausforderungen, die darauf abzielen, Entwicklern und Unternehmen Einblicke zu geben. Die Umfrage erwartet das Wachstum der modernen PHP -Versio
