В моем понимании стрелочная функция берет контекст при объявлении
class Car{
constructor() {
this.name = "BMW"
}
showname = () => {
console.log(this.name);
}
}
let { showname } = new Car();
let obj = {
name: 'random',
showname
}
obj.showname() // всё равно BMW
class Car {
storedThis = this
}
const car = new Car();
const { storedThis } = car;
car === storedThis; // true
$fullName = isset($firstNames[$name]) ? $firstNames[$name]->full : $name;
<?php
$raw = '{
"lastUpdateId":4409859389,
"bids":[
["2.13000000","6472.90000000"],
["2.12900000","50106.20000000"],
["2.12800000","63127.60000000"],
["2.12700000","31495.40000000"],
["2.12600000","41493.30000000"]
],
"asks":[
["2.13100000","24755.90000000"],
["2.13200000","86227.50000000"],
["2.13300000","58302.20000000"],
["2.13400000","61187.90000000"],
["2.13500000","39494.50000000"]
]
}';
$data = json_decode($raw, true);
$bids = array_column($data["bids"], 1);
$asks = array_column($data["asks"], 1);
echo "Max bid: " . max($bids) ,PHP_EOL;
echo "Max ask: " . max($asks) ,PHP_EOL;
php app.php
и процессы висят, работают. <?php
function run($timerid, $params) {
var_dump($timerid);
var_dump($params);
}
// Каждые 10 секунд выполнять функцию run
Swoole\Timer::tick(10000, "run", ["param1", "param2"]);
// Enable the hook for MySQL: PDO/MySQLi
Co::set(['hook_flags' => SWOOLE_HOOK_TCP]);
// Setup a coroutine context
Co\run(function() {
// Execute a query inside a coroutine
go(function () {
// Already setup the $pdo connection before...
$statement = $pdo->prepare("SELECT * FROM users LIMIT :limit, :offset");
$statement->execute(['limit' => $limit, 'offset' => $offset]);
$data = $statement->fetchAll();
// Process $data result...
});
});
composer require guzzlehttp/guzzle
use GuzzleHttp\Client;
$this->client = new Client([
"base_uri" => $baseUrl,
"headers" => $headers,
"timeout" => Settings::TIMEOUT_SEC
]);
Смысл двух разных вариантов для операторов "and" и "or" в том, что они работают с различными приоритетами (смотрите таблицу Приоритет выполнения операторов).
&&
- 15 строка, =
- 19 строка, and
- 23 строка.$bool = true and false;
=> ($bool = true) and false;
$bool = true && false;
=> $bool = (true && false);
Мне это нужно под JavaScript
ffmpeg \
-i music.mp3 \
-filter_complex "aformat=channel_layouts=mono,showwavespic=s=640x120" \
-frames:v 1 \
waveform.png