Closed8
JavaScriptメソッド、PHPではこう書くんだぞっ
JavaScriptは慣れてるけどPHPではどう書けばいいかわからんときが多々ある。メソッドの書き方もまぁ違うもんで。
なので、JavaScriptではこうだけどPHPはこう書くってのをまとめていく。
PHPの出力確認したいときは、とりあえずPHP入ってるか確認して
php -v
ファイル指定してアタック!
php ./test.php
文字数の取得
JS
const str = 'hoge';
const length = str.length;
PHP
$str = 'hoge';
$len = strlen($str);
デバッグ
JS
console.log('hello world');
PHP
var_dump('hello world');
PHPの場合、そのまま変数の中をばら撒いて表示させちゃうので
echo '<pre>';
var_dump($multidimensionalArray);
echo '</pre>';
こんな感じにすると整形されて出力される。
文字の分割
JS
const str = 'hello☆world';
const strs = str.split('☆');
PHP
$str = 'hello☆world';
$strs = explode('☆', $str);
両端空白の除去
JS
const str = ' hello world ';
const trimstr = str.trim();
PHP
$str = ' hello world ';
$trimStr = trim($str);
指定文字列のインデックスを返す
JS
const str = 'I am a hero';
const posToHero = str.indexOf('hero');
PHP
$str = 'I am a hero';
$posToHero = strpos($str, 'hero');
新しい配列の作成
ちょっと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);
条件を通過した要素のシャローコピーを作成
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ヶ月前にクローズされました