Closed8

JavaScriptメソッド、PHPではこう書くんだぞっ

kohei.comkohei.com

JavaScriptは慣れてるけどPHPではどう書けばいいかわからんときが多々ある。メソッドの書き方もまぁ違うもんで。
なので、JavaScriptではこうだけどPHPはこう書くってのをまとめていく。

PHPの出力確認したいときは、とりあえずPHP入ってるか確認して

php -v

ファイル指定してアタック!

php ./test.php
kohei.comkohei.com

文字数の取得

JS

const str = 'hoge';
const length = str.length;

PHP

$str = 'hoge';
$len = strlen($str);
kohei.comkohei.com

デバッグ

JS

console.log('hello world');

PHP

var_dump('hello world');

PHPの場合、そのまま変数の中をばら撒いて表示させちゃうので

echo '<pre>';
var_dump($multidimensionalArray);
echo '</pre>';

こんな感じにすると整形されて出力される。

kohei.comkohei.com

文字の分割

JS

const str = 'hello☆world';
const strs = str.split('☆');

PHP

$str = 'hello☆world';
$strs = explode('☆', $str);
kohei.comkohei.com

両端空白の除去

JS

const str = ' hello world ';
const trimstr = str.trim();

PHP

$str = ' hello world ';
$trimStr = trim($str);
kohei.comkohei.com

指定文字列のインデックスを返す

JS

const str = 'I am a hero';
const posToHero = str.indexOf('hero');

PHP

$str = 'I am a hero';
$posToHero = strpos($str, 'hero');
kohei.comkohei.com

新しい配列の作成

ちょっとPHPのmapの書き方、慣れない。

JS

const nums = ['2', '4', '6'];
const doubleNums = nums.map(num => num * 2);

PHP

$nums = ['2', '4', '6'];
function createDoubleValue($value) {
    return $value * 2;
}
$doubleNums = array_map('createDoubleValue', $nums);
kohei.comkohei.com

条件を通過した要素のシャローコピーを作成

mapと指定の順が逆じゃねぇか。

const family = [
    {
        name: 'AAA',
        age: 30,
    },
    {
        name: 'BBB',
        age: 25,
    },
    {
        name: 'CCC',
        age: 5,
    },
    {
        name: 'DDD',
        age: 10,
    },
];

const adults = family.filter(person => person.age >= 18);

PHP

$family = [
    [
        'name' => 'AAA',
        'age' => 30,
    ],
    [
        'name' => 'BBB',
        'age' => 25,
    ],
    [
        'name' => 'CCC',
        'age' => 5,
    ],
    [
        'name' => 'DDD',
        'age' => 10,
    ],
];

function isAdult($person)
{
    return $person['age'] >= 18;
}

$adults = array_filter($family, 'isAdult');
このスクラップは1ヶ月前にクローズされました