http://news.nationalgeographic.com/2017/08/vultures-steal-cheetah-kill-kruger-food-fight-spd/
og:image
, конкретно у это сайта, есть тег twitter:image:src
выдрать можно его. class MethodTest {
public function __call($name, $arguments) {
// Замечание: значение $name регистрозависимо.
echo "Вызов метода '$name' "
. implode(', ', $arguments). "\n";
}
/** Начиная с версии PHP 5.3.0 */
public static function __callStatic($name, $arguments) {
// Замечание: значение $name регистрозависимо.
echo "Вызов статического метода '$name' "
. implode(', ', $arguments). "\n";
}
}
$obj = new MethodTest;
$obj->runTest('в контексте объекта');
MethodTest::runTest('в статическом контексте'); // Начиная с версии PHP 5.3.0
class PropertyTest
{
/** Место хранения перегружаемых данных. */
private $data = array();
/** Перегрузка не применяется к объявленным свойствам. */
public $declared = 1;
/** Здесь перегрузка будет использована только при доступе вне класса. */
private $hidden = 2;
public function __set($name, $value)
{
echo "Установка '$name' в '$value'\n";
$this->data[$name] = $value;
}
public function __get($name)
{
echo "Получение '$name'\n";
if (array_key_exists($name, $this->data)) {
return $this->data[$name];
}
$trace = debug_backtrace();
trigger_error(
'Неопределенное свойство в __get(): ' . $name .
' в файле ' . $trace[0]['file'] .
' на строке ' . $trace[0]['line'],
E_USER_NOTICE);
return null;
}
/** Начиная с версии PHP 5.1.0 */
public function __isset($name)
{
echo "Установлено ли '$name'?\n";
return isset($this->data[$name]);
}
/** Начиная с версии PHP 5.1.0 */
public function __unset($name)
{
echo "Уничтожение '$name'\n";
unset($this->data[$name]);
}
/** Не "волшебный" метод, просто для примера. */
public function getHidden()
{
return $this->hidden;
}
}
echo "<pre>\n";
$obj = new PropertyTest;
$obj->a = 1;
echo $obj->a . "\n\n";
var_dump(isset($obj->a));
unset($obj->a);
var_dump(isset($obj->a));
echo "\n";
echo $obj->declared . "\n\n";
echo "Давайте поэкспериментируем с приватным свойством 'hidden':\n";
echo "Приватные свойства видны внутри класса, поэтому __get() не используется...\n";
echo $obj->getHidden() . "\n";
echo "Приватные свойства не видны вне класса, поэтому __get() используется...\n";
echo $obj->hidden . "\n";
return [
1 => [
'title' => 'Продукт #1',
'price' => 2000
],
...
786 => [
'title' => 'Продукт #786',
'price' => 7869
],
];
$products = require_once 'products.php';
<?php echo $products['786']['price']; ?>
$data = [
[
'name' => 'Москва и Московская обл.',
'items' => ['Москва', 'Абрамцево']
],
[
'name' => 'Санкт-Петербург',
'items' => ['Санкт-Петербург', 'Александровская']
]
];
class Location
{
private $data;
/**
* Location constructor.
*
* @param array $data
*/
function __construct($data = [])
{
$this->data = $data;
}
/**
* Get cities by region
*
* @param string $region
*
* @return array
*/
public function getCitiesByRegion($region)
{
$key = array_search($region, array_column($this->data, 'region'));
if ( $key === false ) return false;
return $this->data[$key]['items'];
}
}
$data = [
[
'region' => 'Москва и Московская обл.',
'items' => ['Москва', 'Абрамцево']
],
[
'region' => 'Санкт-Петербург',
'items' => ['Санкт-Петербург', 'Александровская']
]
];
$location = new Location($data);
print_r($location->getCitiesByRegion('Санкт-Петербург'));
include_once ("Matrix.class.php");
$matrixA = new Matrix(array(array(0, 1), array(2, 6)));
echo $matrixA->getInverse()->getMathMl();
preg_match('/[a-z]/ism', $var, $matches)
for ($i = 0; $i < $count; $i++) {
// ...
}
echo ((1==1) ?? "YES");
echo ((1==1) ? "YES" : "NO");