LoginSignup
13
15

More than 5 years have passed since last update.

PHP 文字列 echoでの①カンマとドットの違い ②`と”の違い 改行 Webフォント

Last updated at Posted at 2016-11-01

文字列

①echoの際の文字列連結のカンマとドットの違い

出力するデータ量が十分に小さいことが確定しているとき
→ どちらかと言えば「.」を使うべき

出力するデータ量が不明,また大きいことが確定しているとき
→ 「,」を使うべき

文字列の連結コストは,データが大きいときには無視できませんが,小さいときには入出力のコストよりも小さくなる。ただ小さいときにはどちらも気にするほどではないので,好ぶこと。
参考ページ

echo $a .$b;
の場合は$aと$bを結合した文字列を作ってから出力する
文字列を、作ってガベージコレクションの対象になるほうが負荷が高い

echo $a, $b;

は$aと$bを連続して出力する

参考ページ

""と”の違い

■シングルクォーテーション(')
この方法は連結処理はされず、ただ並べて表示させてるだけなので、処理としては一番速くなる。
目的によって使い分けますが、特に理由がなければ、,(カンマ)で並べて表示させる方がいい。

■ダブルクォーテーション(")
ダブルクォーテーション(")は文字列内に記述した変数の値を展開する。

例1↓
 $i = 'test';
 print 'これは$i';
結果 これは$i
例2↓
 $i = 'test';
 print "これは$i";
結果 これはtest
■例
$i = 'test';
echo "ここは$i";
echo 'ここは' . $i;
echo "ここは" . $i;
echo 'ここは$i';
■実行結果
ここはtest
ここはtest
ここはtest
ここは$i 

文字列結合(,)と(.)の違いについて(参考になるサイト)

改行

■方法①

echo "\n";

■方法②

echo '<br>';

■方法③
PHP_EOLを使う

<?php
 print("the first line");
 print(nl2br(PHP_EOL));
 print("second line");
 ?>

webフォント

uploading-0
かわいい文字にしたいときわwebフォント

cssにこちらを追加
@font-face {
font-family: あずきフォント;
src: url(azuki.ttf) format("truetype");
}

①azuki.ttfをダウンロード
②azuki.ttfをプロジェクトに追加
③azuki.ttfをサーバーにも追加

使いたいところに指定
textarea {
    width: 480px;
    font-family: "あずきフォント";
}

webフォントで参考になるサイト
あずきフォントわここからダウンロード♥
webフォントで参考になるサイト

webフォントをIEでも対応させる

以前私が質問したページ
参考になるサイト

WOFFコンバーターというフリーソフトをインストールする
WOFFコンバーター
woffconverterimage.png
201702153.png

①azuki.ttfからazuki.eotとazuki.woffをWOFFコンバーターというフリーソフトで生成
②azuki.eotとazuki.woffをプロジェクトに追加
20170217.png

③azuki.eotとazuki.woffをサーバーにも追加

CSS
@font-face{
    font-family: 'あずきフォント'; /* お好きな名前に */
    src: url('azuki.eot'); /* IE9以上用 */
    src: url('azuki.eot?#iefix') format('embedded-opentype'), /* IE8以前用 */
        url('azuki.woff') format('woff'), /* モダンブラウザ用 */
        url('azuki.ttf') format('truetype'); /* iOS, Android用 */
}

strval()

strval — 変数の文字列としての値を取得する

$MyNumber = 162;
echo strval($MyNumber); //162
var_dump(strval($MyNumber)); //string '162' (length=3)
var_dump($MyNumber); //int 162

文字列と数値の比較

文字列と数値を比較する場合は、文字列が数値に比較され、数値として比較されます。その際、比較する値は文字列の先頭部分で決まる。文字列の先頭が有効な数値である場合はその値で比較し、有効な値が先頭にない場合は値が0になる。

if("3abc" == 3){
    echo "true";
}else{
    echo "false";
}
if("24abc" >  21){
    echo "A";
}
if ("4member" > 1){
    echo "B";
}
if ("3member" < 1) {
    echo "C";
}
if('5member' < 44){
    echo "44";
}else{
    echo "5member";
}

■実行結果
trueAB44

strcmp()

          
strcmp(引数1,引数2) 引数1が引数2より大きかったら1を返す。引数1が引数2より小さかったら-1を返す。
if(strcmp("54321", "6789") > 0){
    echo "Over";
}else{
    echo "Under"; //Underが表示される
}
echo strcmp("5member", 3); // 1
echo strcmp(3, "5member"); // -1
echo strcmp("abc", "hij"); // -1
echo strcmp("k","a"); // 1
echo strcmp(2, "2member"); // -6
echo strcmp("a", "ab"); // -1
echo strcmp("a","a"); //0

何故echo strcmp("a", "ab"); // -1なるの?

ヒアドキュメント

「ヒアドキュメント」は長い文字列を変数に代入したり、出力する場合に使う

$test=<<<A
1</br>
2</br>
3</br>
4
A;

print $test;
実行結果
1
2
3
4

Aは名前自由

<?= ?>

<?='hello';?>
hello

変数

{変数}

$weather = "晴れ";
echo "今日は{$weather}です";
echo "</br>";
echo '今日は{$weather}です';

■実行結果
今日は晴れです
今日は{$weather}です
今日は晴れです

{$a->b()}

class hoge{
  function b(){
    return "c";
  }
}
$a=new hoge;
print "A{$a->b()}B";

■実行結果
AcB

++$i;と$i++;の違い

演算子 概要
++ 前置加算(代入後に加算) $i++
++ 後置加算(代入前に加算) ++$i
例①
$var = 2;
echo $var ++; // 2

$i = 5;
echo ++ $i; //6
例②
$a = 2;
echo ++$a; //3

$b = 2;
echo $b++; //2

変数(値による代入)

$x = 1;
$y = $x;
$x = 5;
echo $y; //1

変数(参照による代入)

参照渡しを使うにはアンパサンド「&」を使う。「&」記号を代入する方の変数の「$」記号の前に付ければいいだけ。

$x = 1;
$y = &$x;
$x = 5;
print $y; //5

変数の有効範囲(スコープ)

グローバル 関数外
ローカル 関数内
$x = 10;
function checkScope() {
    return ++ $x; // 1
}

print checkScope ();
print $x; // 10

関数内でグローバル変数を利用する

■方法1
変数名の前にglobalをつけると、
その変数はローカル変数ではなくグローバル変数として扱われる

$x = 10;
function checkScope() {
    global $x;
    return ++ $x; // 1
}

print checkScope (); // 11
print $x; // 11

■方法2
$GLOBALS配列
$GLOBALSは、グローバル変数名がキーの連想配列なので、グローバル変数名をキーにして呼び出す。

グローバル変数$varを呼び出すには、グローバル変数名varをキーにし、$GLOBALS[var]で呼び出す。

$num = 100;
foo();
function foo(){
    print $GLOBALS['num']; // 100
}

数学

20170412.png
201704121.png

13
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
15