質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

3回答

881閲覧

PHP 変数=変数= の意味

foxhoge

総合スコア15

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

1グッド

2クリップ

投稿2017/08/19 05:54

###前提・実現したいこと
HTMLをスクレイピングするコードなのですが、以下の
変数=変数=
の意味がわかりません。
教えてください。宜しくお願い致します。

php

1$res = $res = simplexml_load_string($tidy);

###元のソースコード

php

1<?php 2 3ini_set('display_errors', true); 4error_reporting(E_ALL); 5 6$html = <<<HTML 7<!DOCTYPE HTML> 8<html lang="ja"> 9 <head> 10 <meta charset="UTF-8"> 11 <title>タイトル</title> 12 </head> 13 <body> 14 <div> 15 <ul> 16 <span>span</span> 17 <div> 18 <li>li1</li> 19 <li>li2 20 <li>li3</li> 21 </body> 22</html> 23HTML; 24 25$config = array( 26 'drop-empty-elements' => false, // 空の要素を削除しない 27 'hide-comments' => true, // コメントを削除 28 'output-xhtml' => true, // xhtml に変換 29); 30 31$tidy = new tidy(); 32$tidy->parseString($html, $config, 'utf8'); 33$tidy->cleanRepair(); 34 35$res = $res = simplexml_load_string($tidy); 36var_dump($res);
退会済みユーザー👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

それは多重代入一括代入と言います。代入演算子は右結合(左オペランドに右オペランドの式の値を代入する)なので、一番右にあるオペランドの値がその左にある変数へ代入されていくことになります。これは複数の変数に同じ値を代入するときに便利なものです。今回はsimplexml_load_string($tidy)が返す値を$resという変数に代入し、その値を$resに代入します。つまり、今回の場合この記述に意味はないと思います。

PHP

1$res = simplexml_load_string($tidy);

投稿2017/08/19 06:17

編集2017/08/19 06:22
s8_chu

総合スコア14731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

s8_chu さんの回答どおりです。
PHP で多重代入が役に立つのは特に配列のときだと思います。

php

1<?php 2$a = $b = $c = []; 3 4// $a だけが変わる 5$a[] = 'data'; 6 7var_dump($a, $b, $c);

実行結果

array(1) { [0]=> string(4) "data" } array(0) { } array(0) { }

投稿2017/08/19 06:28

chitoku

総合スコア1610

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

異なる変数であれば多重代入ですが、同一の変数なのでソースを書いた人の記述間違いの可能性が高いと思います。

投稿2017/08/22 09:25

tesopgmh

総合スコア146

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問