- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:sprintf関数での%Sが分かりません。)
sprintf関数での%Sが分かりません。
このQ&Aのポイント
- 質問の背景は、sprintf関数の%Sについてです。
- この関数では、異なる数値文字が%Sに対応しますが、その仕組みがわかりません。
- 具体的には、指定された数値文字が緯度、経度、および半径を表しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
関数の動作に疑問を持ったならば、まずマニュアルを読みましょう。 http://www.php.net/manual/ja/function.sprintf.php 上記を読んでもわからなければどのあたりがわからないかを補足願います。 (以下、独り言) しかし、大本の printf() の記述がスカスカで、そっちよりもこっちの記述が充実してるのはどういう事なんだろう?
その他の回答 (1)
- hitomura
- ベストアンサー率48% (325/664)
回答No.2
> そうすると、下記にある (中略) > の4つの'%s'は > > (1) > mysql_real_escape_string($center_lat), > mysql_real_escape_string($center_lng), > mysql_real_escape_string($center_lat), > mysql_real_escape_string($radius)); > > の4つの置換指示子として、(1)の順番とおりの引数(数値文字)が'%s'に入る。という理解でよろしいのでしょうか。 その理解で正しいです。
質問者
お礼
このたびは本当にありがとうございました。
補足
hitomuraさん、ありがとうございます。 下記見させていただきました。 http://www.php.net/manual/ja/function.sprintf.php そうすると、下記にある $query = sprintf("SELECT address, name, lat, lng, ( 6371 * acos( cos( radians('%s') ) * cos( radians( lat ) ) * cos( radians( lng ) - radians('%s') ) + sin( radians('%s') ) * sin( radians( lat ) ) ) ) AS distance FROM markers HAVING distance < '%s' ORDER BY distance LIMIT 0 , 200", の4つの'%s'は (1) mysql_real_escape_string($center_lat), mysql_real_escape_string($center_lng), mysql_real_escape_string($center_lat), mysql_real_escape_string($radius)); の4つの置換指示子として、(1)の順番とおりの引数(数値文字)が'%s'に入る。という理解でよろしいのでしょうか。