タグ付けされた質問 「php」

PHPは、主にサーバー側のWeb開発用に設計された、広く使用されている、高レベルで動的なオブジェクト指向の解釈されたスクリプト言語です。PHP言語に関する質問に使用されます。

13
Laravel Eloquentの「With()」関数を使用して特定の列を取得する
テーブルが2つUserありPostます。1つUserは多数をposts持ち、1つpostは1つだけに属しuserます。 私のUserモデルにはhasMany関係があります... public function post(){ return $this->hasmany('post'); } そして、私のpostモデルにはbelongsTo関係があります... public function user(){ return $this->belongsTo('user'); } 次に、これらの2つのテーブルを使用して結合したいのですがEloquent with()、2番目のテーブルの特定の列が必要です。クエリビルダーを使用できることはわかっていますが、使用したくありません。 Postモデルの中で私が書くとき... public function getAllPosts() { return Post::with('user')->get(); } 次のクエリを実行します... select * from `posts` select * from `users` where `users`.`id` in (<1>, <2>) しかし、私が欲しいのは... select * from `posts` select id,username from `users` where `users`.`id` …

10
php stdClass to array
オブジェクトstdClassを配列に変換するのに問題があります。私はこのようにしてみました: return (array) $booking; または return (array) json_decode($booking,true); または return (array) json_decode($booking); キャスト前の配列は1つのレコードでいっぱいで、キャストしようとした後は空です。行を削除せずにキャスト/変換する方法は? キャスト前の配列: array(1) { [0]=> object(stdClass)#23 (36) { ["id"]=> string(1) "2" ["name"]=> string(0) "" ["code"]=> string(5) "56/13" } } キャストしようとすると、キャスト後は空のNULLになります var_dump($booking); 私もこの関数を試しましたが、常に空です: public function objectToArray($d) { if (is_object($d)) { // Gets the properties of the given object // …
195 php  arrays 

10
PHP関数のオーバーロード
C ++のバックグラウンドから来る;) PHP関数をオーバーロードするにはどうすればよいですか? 引数がある場合は1つの関数定義、引数がない場合は別の関数定義?PHPで可能ですか?または、$ _ GETおよびPOSTから渡されたパラメーターがあるかどうかを確認するために、他に使用する必要がありますか?それらを関連付けますか?

10
クエリ文字列を配列に解析します
下の文字列を配列にするにはどうすればよいですか? pg_id=2&parent_id=2&document&video これは私が探している配列です。 array( 'pg_id' => 2, 'parent_id' => 2, 'document' => , 'video' => )
195 php  arrays  string 

8
コマンドラインのPHPスクリプトでXDebugプロファイラーをトリガーする方法
XDebugは、HTTP経由でスクリプトを呼び出すときにGETまたはPOSTパラメーター「XDEBUG_PROFILE」を渡すことでプロファイリングをアクティブ化できるようにする構成ディレクティブ「xdebug.profiler_enable_trigger」を提供します。これは、すべてのスクリプトのプロファイリングを望まないが、常にPHP構成を変更せずに、いくつかの特別な場合にのみ役立つ場合に便利です。 コマンドラインPHPプログラムで同じ動作を実現する方法はありますか?「XDEBUG_PROFILE」をコマンドライン引数として渡そうとしましたが、機能しませんでした。 一般的に、コマンドラインPHPのプロファイリングはうまく機能しますが、ブラウザーやHTTPサーバーと同じように呼び出しごとの柔軟性を持たせたいと思います。 助言がありますか?

12
PHP DOMDocument loadHTMLがUTF-8を正しくエンコードしない
DOMDocumentを使用して一部のHTMLを解析しようとしていますが、その場合、突然エンコードが失われます(少なくとも、それは私には見えます)。 $profile = "<div><p>various japanese characters</p></div>"; $dom = new DOMDocument(); $dom->loadHTML($profile); $divs = $dom->getElementsByTagName('div'); foreach ($divs as $div) { echo $dom->saveHTML($div); } このコードの結果、日本語以外の文字がたくさん表示されます。ただし、私が行う場合: echo $profile; 正しく表示されます。saveHTMLとsaveXMLを試しましたが、どちらも正しく表示されません。PHP 5.3を使用しています。 私が見るもの: ã¤ãªãã¤å·ã·ã«ã´ã«ã¦ãã¢ã¤ã«ã©ã³ãç³»ã®å®¶åº­ã«ã9人åå¼ã®5çªç®ã¨ãã¦çã¾ãããå½¼ãå«ãã¦4人ã俳åªã«ãªã£ããç¶è¦ªã¯æ¨æã®ã»ã¼ã«ã¹ãã³ã§ãæ¯è¦ªã¯éµä¾¿å±ã®å®¢å®¤ä¿ã ã£ããé«æ ¡æ代ã¯ã­ã£ãã£ã®ã¢ã«ãã¤ãã«å¤ãã¿ãæè²è³éãåããªããã«ããªãã¯ç³»ã®é«æ ¡ã¸é²å­¦ã 何を表示すべきか: イリノイ州シカゴにて、アイルランド系の家庭に、9人兄弟の5番目として生まれる。彼を含めて4人が俳優になった。父親は木材のセールスマンで、母親は郵便局の客室係だった。高校時代はキャディのアルバイトに勤しみ、教育資金を受けながらカトリック系の高校へ進学 編集:自分でテストできるように、コードを5行に簡略化しました。 $profile = "<div lang=ja><p>イリノイ州シカゴにて、アイルランド系の家庭に、</p></div>"; $dom = new DOMDocument(); $dom->loadHTML($profile); echo $dom->saveHTML(); echo $profile; 返されるhtmlは次のとおりです。 <div …

2
PHPで</ script>が解析エラーを表示しないのはなぜですか?
次のPHPコードを実行していました。 &lt;?php &lt;/script&gt; ?&gt; 解析エラーはなく、出力は " ?&gt;"(例)でした。 同様の場合、解析エラーが発生します。 &lt;?php &lt;/div&gt; ?&gt; 解析エラー:構文エラー、予期しない '&lt;'が... &lt;?php &lt;/script&gt; ?&gt;同じエラーが発生しないのはなぜですか?
193 php  syntax  parse-error 

3
PHPでオブジェクトのプロパティを削除することは可能ですか?
私が持っている場合はstdObject、発言権を$a。 もちろん、新しいプロパティを割り当てても問題はありません$a。 $a-&gt;new_property = $xyz; しかし、それを削除したいので、unsetここでは役に立ちません。 そう、 $a-&gt;new_property = null; そのようなものです。しかし、もっと「エレガントな」方法はありますか?
193 php  object 

16
不正な文字列オフセット警告PHP
PHPのバージョンを5.4.0-3に更新した後、奇妙なPHPエラーが発生します。 私はこの配列を持っています: Array ( [host] =&gt; 127.0.0.1 [port] =&gt; 11211 ) このようにアクセスしようとすると、奇妙な警告が出ます print $memcachedConfig['host']; print $memcachedConfig['port']; Warning: Illegal string offset 'host' in .... Warning: Illegal string offset 'port' in ... 私は本当にphp.iniを編集してエラーレベルを再設定したくありません。
193 php  warnings 


30
インタープリター言語で非常に大きな整数を処理するときに予期しない結果が発生する
私は合計を取得しようとしています1 + 2 + ... + 1000000000が、PHPとNode.jsで面白い結果を得ています。 PHP $sum = 0; for($i = 0; $i &lt;= 1000000000 ; $i++) { $sum += $i; } printf("%s", number_format($sum, 0, "", "")); // 500000000067108992 Node.js var sum = 0; for (i = 0; i &lt;= 1000000000; i++) { sum += i ; } …

23
PDOでの行数
多くの矛盾する発言があります。PHPでPDOを使用して行数をカウントする最良の方法は何ですか?PDOを使用する前は、単にを使用しましたmysql_num_rows。 fetchAll 時々大きなデータセットを扱っている可能性があるので、私は使いたくないものです。 何か提案はありますか?
192 php  mysql  pdo 

10
PHP / MySQLは行を挿入してから 'id'を取得します
行を挿入すると、テーブルの 'id'フィールドが自動的に増加します。行を挿入してから、そのIDを取得します。 私は言ったようにそれを行いますが、行を挿入してからIDを取得するまでの時間を気にせずにできる方法はありますか? 入力した情報と一致する行をデータベースでクエリできることはわかっていますが、IDが異なるだけで重複が大きく変化します。
192 php  mysql 



弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.