<?php
function arrayColumnRecursive($array, $column) {
$values = [];
foreach ($array as $k => $v) {
if ($k == $column) {;
$values[] = $v;
} elseif (is_array($v)) {
$values = array_merge($values, arrayColumnRecursive($v, $column));
}
}
return $values;
}
print_r(arrayColumnRecursive($array, 'd'));
Array
(
[0] => 1
[1] => 3
[2] => 5
[3] => 7
)
parse_url
, либо взять готовую библиотеку https://github.com/monkeysuffrage/phpuri. function getPropertyByPath($object, $path) {
$path = explode('->', $path);
foreach ($path as $step) {
if (is_object($object) && property_exists($object, $step)) {
$object = $object->$step;
} else {
return null;
}
}
return $object;
}
var_dump($object);
$path = 'a->b->c';
var_dump(getPropertyByPath($object, $path));
class stdClass#1 (1) {
public $a =>
class stdClass#2 (1) {
public $b =>
class stdClass#3 (1) {
public $c =>
string(5) "12345"
}
}
}
string(5) "12345"
$omaParse = phpQuery::newDocument($omaURL, 'utf-8');
$omaParse = phpQuery::newDocument('<meta charset="utf-8">' . $omaURL);
<?php
$mail = new PHPMailer;
$mail->setFrom('your@email.ru'); // Email отправителя
// Можно отправить письмо нескольким адресатам за один раз
$recipients = ['first@email.ru', 'second@email.ru', 'third@email.ru'];
foreach ($recipients as $recipient) {
$mail->addAddress($recipient);
//$mail->AddBCC($recipient); // Или можно отправить скрытую копию, чтобы получатели не видели друг друга
}
$mail->Subject = 'Заголовок письма';
$mail->Body = '<b>Здесь текст письма в формате html.<b>';
$mail->isHTML(true); // Формат HTML
$mail->send();
RewriteRule
добавьте строки:RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
<?php
$url = [
['url'=>'http://example.com','id'=>1],
['url'=>'https://example.com','id'=>2],
['url'=>'https://url.com','id'=>3],
['url'=>'http://example.com','id'=>4],
['url'=>'http://big.com','id'=>5],
['url'=>'http://big.com','id'=>6],
['url'=>'http://data.com','id'=>7],
['url'=>'https://data.com','id'=>9],
['url'=>'https://shop.com','id'=>10],
['url'=>'https://shops.com','id'=>11],
];
$http_urls = [];
$https_urls = [];
// Отделяем url-ы с https от http
foreach ($url as $item) {
if (preg_match('/^https/i', $item['url'])) {
$https_urls[] = stripProto($item['url']);
} else {
$http_urls[] = stripProto($item['url']);
}
}
// Находим одинаковые адреса в обоих массивах
$urls_itersect = array_intersect($http_urls, $https_urls);
// Оставляем в исходном массиве только url-ы с http, которые содержатся в массиве $urls_itersect
$url = array_filter($url, function($item) use ($urls_itersect) {
if (preg_match('/^http[^s]/i', $item['url']) && in_array(stripProto($item['url']), $urls_itersect)) {
return true;
} else {
return false;
}
});
print_r($url);
// Возвращает url без протокола
function stripProto($url) {
if (preg_match('/^https?(.+)$/i', $url, $m)) {
return $m[1];
}
}
/^<div>[^<>]+<\/div>$/
<?php
$a = '<div class="test">Кнопка</div>';
echo $a;
echo "<br />";
echo "<code>" . htmlspecialchars($a) . "</code>";