怎样优雅地拼凑字符串?
<code>$username = $this->username ?: 'someone'; $email = $this->email ?: Yii::$app->params['adminEmail']; $password = Yii::$app->getSecurity()->generatePasswordHash( $this->password ?: 'xx' ); $table = User::tableName(); $auth_key = Yii::$app->security->generateRandomString(); $status = User::STATUS_ACTIVE; $timestamp = time(); $god = 1; $words = "in the ${table} has a record which contains some value : "; $words .= "'${username}', '${email}', '${password}', '${auth_key}', '${status}','${timestamp}', '${god}', '${timestamp}', '${god}' "; </code>
上面的 word 怎样拼凑才能优雅些?
回复内容:
<code>$username = $this->username ?: 'someone'; $email = $this->email ?: Yii::$app->params['adminEmail']; $password = Yii::$app->getSecurity()->generatePasswordHash( $this->password ?: 'xx' ); $table = User::tableName(); $auth_key = Yii::$app->security->generateRandomString(); $status = User::STATUS_ACTIVE; $timestamp = time(); $god = 1; $words = "in the ${table} has a record which contains some value : "; $words .= "'${username}', '${email}', '${password}', '${auth_key}', '${status}','${timestamp}', '${god}', '${timestamp}', '${god}' "; </code>
上面的 word 怎样拼凑才能优雅些?
sprintf
是个不错的方案
不过看你的代码感觉就是像把各种变量都打出来调试用,那么有个神器 get_defined_vars
,变量名变量值都有了你值得拥有
一句话,尽量使用 ORM 或者 数据库类 去操作数据库,而不要人工拼凑字符串,这样能有效防止 SQL注入 的发生。Yii 框架肯定是自带这些东西的,你上文档好好看看就好啦:http://www.yiiframework.com/doc/guide/1.1/en/database.dao#binding-para...
如果是单纯的拼接字符串的话一般情况下双引号内直接写变量名(不用花括号)就可以了,当然介于那个字段的拼接实在是有点丑你可以这么改写一下:
<code>$words = "in the $table has a record which contains some value: "; $words .= implode(", ", array_map(function($item) { return "'$item'"; }, [$username, $email, $password, $auth_key, $status, $timestamp, $god]) ); </code>
存数组遍历呗

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
