• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:phpで携帯サイトを作成しています。)

PHPで携帯サイトを作成する際の初心者の困りごと

bm_hiroの回答

  • bm_hiro
  • ベストアンサー率51% (200/388)
回答No.4

> にも関わらす、お礼の返信が遅れてしまい、申し訳ありません。 あ~、全然気にしてません。 基本的に 俺は ここでは ゆる~い回答しかしてないので、 お礼とか 全然ないままの人とか半分近くいますよ。数えてませんけど。 自分もお礼が入ったときに思い出すぐらいもんで。 > 教えて頂きましたif文のサンプルの中で、 んー、これね。正直、ミスったと思ってます。 余計、混乱させるサンプルでしたね。 自分でも 分けが分からない事になって、何がしたかったのか 今でも分かりません。 #3さんの回答もごもっともなのですよ。 正直、ちょっと耳が痛かったです。 俺ってば だいぶ 雑な学習の仕方してきたので、自分でも 「このやり方はこれでいいのだろうか。。。?」と思うことも多々あります。 PHPのマニュアルって結構 丁寧に書いてて、読破して 全部 理解できれば、 色んなケースに対応できるようになります。 まぁ、俺は 必要な時に 「こんな関数ないかな~」って程度でマニュアルを見る程度ですが。 > if (null) は常に”false”であると覚え込もうかとも思いましたが、 多分、あってると思いますよ。 こんな答え方のは 実は 俺も 明確な答えは知りません。 null って PHPに限らず いろんな言語に存在していて、 どの言語でも「なんもない」事を表してるような感じです。 ゼロでも空白でもなく、「無」を表すための記号みたいなものですかね~(自信なし) 基本的に、俺は トライ&エラーで やってみてダメなら、「あぁ、ダメなんだ」ぐらいのユルさでやってます。 while も trueでループを抜けるかfalseでループを抜けるのか よく忘れます。 俺の真似をすると、後々困る事になりますので、悪い見本と言う見方をしておいてください。 > 見ず知らずの方から、こんなに丁寧に教えて頂けるとは思ってもいませんでしたので、 まぁ、自己満足でやってるだけですので、気にせずに。 回答するのに飽きたらフェードアウトするつもりですし。 では、PHPの学習とか 回答とか いろいろ頑張ってください。

関連するQ&A

  • call_user_funcやcall_user_func_arrayはどのような時に使うのでしょうか?

    PHPのフレームワーク(Zend Fremeworkやsymfony)のコードをみていると、 call_user_func や call_user_func_array をたまに見かけますが、なぜ、 この関数を使用しているのでしょうか? call_user_func_array('test', array($a, $b)); の代わりに test($a, $b); とできないのでしょうか?

    • 締切済み
    • PHP
  • PHP初心者 再帰処理について

    あるフォルダ以下に含まれる全てのフォルダ名をフルパスですべて列挙するという処理を描こうと下記のブログを参考にして自分で少し書き換えたのですが、うまくいきません。 http://blog.asial.co.jp/12 <参考にした部分> function getFileList($dir) { $files = scandir($dir); $files = array_filter($files, function ($file) { // 注(1) return !in_array($file, array('.', '..')); }); $list = array(); foreach ($files as $file) { $fullpath = rtrim($dir, '/') . '/' . $file; // 注(2) if (is_file($fullpath)) { $list[] = $fullpath; } if (is_dir($fullpath)) { $list = array_merge($list, getFileList($fullpath)); } } return $list; } </参考にした部分> <自分で変更したコード> function getFileList($dir) { $files = scandir($dir); $files = array_filter($files, function ($file) { // 注(1) return !in_array($file, array('.', '..')); }); $list = array(); foreach ($files as $file) { $fullpath = rtrim($dir, '/') . '/' . $file; if (is_dir($fullpath)) { $list[] = $fullpath; $list[] = array_merge($list, getFileList($fullpath)); } } return $list; } </自分で変更したコード> 変更といってもis_fileの部分の削除と$list[] = $fullpath;を追加しただけなのですが、「~ bytes exhausted」というエラーになってしまいます。 再帰関数が内部的にどういう処理をしているのかよくわかってないので、正直変更したコードがどういう動きをしているのかいまいち理解できません。参考書にある再帰関数は腑に落ちないながらも結果としてはそうなるということは理解しました。 あとそれ以前に $files = array_filter($files, function ($file) {   return !in_array($file, array('.', '..')); の部分がわかりません。 scandirの戻り値には要素の最初の方に「.」と「..」が付くのでそれを削除する目的だとブログにはありますが、in_arrayはただ第一引数のものを第二引数から検索するだけのはずなのに、$filesの中身をarray_filtersの処理後に確認してみるとちゃんと「.」と「..」が削除されていて不思議です。あとin_arrayは第一引数のものを第二引数の中から検索するという関数だと思いますが、なぜそれをわざわざ反転させて((array('.', '..'), $file);じゃなく($file, array('.', '..'));)!in_arrayとしてるんでしょうか? *ちなみに引用したブログのコードの動作は確認済みで元のコードは完全に正しいです。引用したコードに文句をつけているわけではなく自分がわかっていないだけです。(^^ゞ 以上です。よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHP+MySQLで携帯サイトを開発しています。

    PHP+MySQLで携帯サイトを開発しています。 文字コードはSJISが望ましいということなので、 mb_http_output('SJIS'); mb_internal_encoding('EUC-JP'); ob_start('mb_output_handler'); を入れることで出力をSJISにしたのですが、ドコモでCSSを使用するために header("Content-type:application/xhtml+xml;"); を入れたところ、文字化けしてしまいます。 場所を変えたり、charsetを入れたりしても上手く動きません。 アドバイスいただければ助かります。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • phpコールバック関数について

    php初心者のものですが、コールバック関数(可変関数)についての質問です。 //引数の与えらえられた名前をもつ関数が存在すれば呼び出すための関数 function func_caller($name)(2) { if (function_exists($name)) { (3) $name(); //可変換数をして関数の呼び出し } } function foo() { echo 'foo call', PHP_EOL; } func_caller('foo'); //foo called(1) とあるのですが (1)の関数が(2)に呼ばれて$nameはfooが入ってて (3)が評価されまでわかるのですが次にどうなっていくのかわかりません。 どなたかわかる方いらっしゃいましたらどうか教えていただけないでしょうか? 何卒よろしくお願い致します。

    • ベストアンサー
    • PHP
  • array_mapの再帰処理がうまく行かない

    長文で失礼します。 array_mapでの再帰処理がうまく行かないのでどこが間違っているか教えてください。 まず、このような配列があります。配列の中に配列があります。 $ary = array(1, 2, null, array("a", null, "c")); この配列の中のnullを"なし"という文字列に変換したいです。 array_mapを使って再帰的にやってみました。 まずはうまく行ったコードから。 ------------------------------------------------------ $ary = array(1, 2, null, array("a", null, "c")); var_dump(null2Nashi($ary)); // nullを"なし"に置換する関数 function null2Nashi(  $in_array ){  if(is_array($in_array)){   return array_map("null2Nashi", $in_array);  } else {   if ($in_array === null){    $in_array = "なし";   }   return $in_array;  } } ------------------------------------------------------ 結果はnullが"なし"に変換されました array (size=4)  0 => int 1  1 => int 2  2 => string 'なし' (length=6)  3 =>   array (size=3)    0 => string 'a' (length=1)    1 => string 'なし' (length=6)    2 => string 'c' (length=1) そしてこの"なし"をコード内で指定するのではなく引数で指定したいと思って無名関数を使って以下のコードにしました。 ------------------------------------------------------ $ary = array(1, 2, null, array("a", null, "c")); var_dump(null2Str($ary, "なし")); // nullを指定文字列に置換する関数 function null2Str(  $in_array, // null値を含む配列  $in_str // null値を変換したい文字列 ){  $n = function($n_array) use($in_str){   if(is_array($n_array)){    return array_map($n, $n_array); //…(1)   } else {    if ($n_array === null){     $n_array = $in_str;    }    return $n_array;   }  };  return $n($in_array); } ------------------------------------------------------ 結果はnullは何も変換されませんでした。 array (size=4)  0 => int 1  1 => int 2  2 => null  3 =>   array (size=3)    0 => string 'a' (length=1)    1 => null    2 => string 'c' (length=1) どうやら(1)のarray_mapが動作していないようです。要素を分解せずに$nの無名関数に渡さずにそのまま第2引数を返しているだけみたいです。 何か対応方法があるでしょうか? どうぞよろしくお願い致します。

    • ベストアンサー
    • PHP
  • PHPのusort関数について

    PHPにおけるusort関数およびuasort uksort関数の使い方がわかりません。 $array = array("b" => "bbbb","c" => "cc","d" => "ddddddddddd","e" => "eee","a" => "a","f" => "ffffffff","g" => "gg","h" => "hh"); 上記のような配列があった場合 uasort($array, function($a,$b){ if (strlen($a) == strlen($b)) { return 0; } if(strlen($a) > strlen($b)){ return -1; }else if(strlen($a) < strlen($b)){ return 1; } } ); print_r($array); 上記のようなコードの場合 ( [d] => ddddddddddd [f] => ffffffff [b] => bbbb [e] => eee [h] => hh [g] => gg [c] => cc [a] => a ) という結果がかえてきます。 ただ、実際このコードでなにがおきてるかわかりません。 まず、uasort関数の第二引数に渡す関数の引数 $a,$bはいったいどんな順番で第一引数の配列からわたされているのでしょうか? そして、$a と$ bの値が同じ場合に0を返した場合なにがおきてるのでしょうか? 同じく return 1;を返すときと return -1;を返すときと いったいどのような処理がおこなわれていてどういうなぜ 上記のような配列を返すことになるのでしょうか? そもそも PHPマニュアルから参照しますが 比較関数は、最初の引数と二番目の引数の比較結果を返します。最初の引数のほうが二番目の引数より大きい場合は正の数を、二番目の引数と等しい場合はゼロを、そして二番目の引数より小さい場合は負の数を返す必要があります。 上記説明も、どうにも理解できません。 どうも全体的にusort関数系の使い方がわかりません。 識者の方よろしくご教授いただけますようお願いします。

    • ベストアンサー
    • PHP
  • Pythonでcall_user_funcを行う

    お世話になります。 最近Pythonの勉強を始めた初心者です。 GAE/Python2.5で、PHPで言うcall_user_funcを使う方法を探しております。 具体的に言いますと、関数名(メソッド名)を変数に入れて、それを呼び出す方法を探しています。 例えばPHPで言えば下記のようなコードです。 ---------------------- <?php // 呼び出すクラス class CTestClass {   // 呼び出すメソッド   function TestFunc()   {     echo 'Call <CTestClass::TestFunc()>';   } } // 変数にメソッド名を入れて呼び出す $func = 'TestFunc'; $obj = new CTestClass(); call_user_func( array( $obj, $func ) ); // print Call <CTestClass::TestFunc()> ---------------------- Pythonでは上記のような事は可能でしょうか? また、メソッドを呼び出すのと普通のグローバル関数を呼び出すのでやり方が違う場合はそちらも教えて頂けるとあり難いです。 以上、よろしくお願い致します。

  • 22年春 基本情報処理試験 問8 マージソート

    22年春の基本情報処理試験 、問8のマージソートが解らないでいます。 設問2で与えられている、3、8、2、7、5、1という値を関数Sortに渡し、 これを実行すると、 一番最初に関数Mergeが実行される時に、関数Mergeに渡される引数は、 slist1 = 8、num1 = 1、slist2 = 2、num2 = 1になりますよね? それで、関数Mergeを実行して、list[] = {2,8} が返却されるところまでは、 理解できるのですが、その後の動きがわかりません。 僕はいくら考えても、ここで終わっちゃうんです。 どの関数に、どの引数を渡してあげればよいのでしょうか… どなたか教えて下さい。 よろしくお願いします。

  • 【PHP】関数で処理が止まってる??

    お世話になります。 PHPでの質問ですが、PHPに限ったものではないように思いますので、プログラム全般に対しての質問と思って下さって結構です。 ※PHP特有のという意見があれば、それも大歓迎です。 下記のようなコードを組んでみました。 <?php echo "func1の結果["; echo func1(); echo "]"; function func1(){ (内容は割愛) return TRUE; } ?> このコードをアップしてアクセスしてみると   出力結果  func1の結果[ でした。 ブラウザのステータスに「ページが表示されました」とあるので、処理中で出力待ちということはないと思います。 > echo func1(); > echo "]"; の箇所の出力はどうなっていると考えればいいのでしょうか? 「関数の内容次第で・・・」とお答えになる方、どういう内容だとこのような結果になるのかというところでお答えください。 私のプログラムによる根本的な考え方は、プログラムは上から下に順番になので、 上記内容の箇所にどんなコードがあったとしても、func1関数はTRUEを返すので、結果としては「func1の結果[1]」となるはずでした。 でも実際の出力結果をみると処理が途中で(おそらくfunc1()内で)止まっているともいます。 timeoutではないため無限ループに嵌ってっていうのもないと思います。 これはどういうことでしょう???

    • 締切済み
    • PHP
  • phpのarrayについて、この画像で、一番上にあ

    phpのarrayについて、この画像で、一番上にある $arr = array();がなくても成立すると思うんですが、一番上のはどういう意味があるんでしょうか? またarray()のかっこのなかにはなにがはいるんですか?また、どういう呼び名ですか?関数の場合はかっこのなかは引数なので、この場合はなんですか?

    • ベストアンサー
    • PHP