Уверен, что задача простая, но я никак не соображу.
Предположим есть следующая структура в таблице БД.
Users
1.id
2.name
3.affiliated_by
function buildAffiliateChain($for, $users) {
$chain = [];
$affiliatedUsers = array_values(array_filter($users, function($user) use ($for) {
return $user['affiliated_by'] === $for;
}));
foreach ($affiliatedUsers as $affiliatedUser) {
$subscequentChain = buildAffiliateChain($affiliatedUser['id'], $users);
$chain = array_merge($chain, [$affiliatedUser], $subscequentChain);
}
usort($chain, function($someUser, $otherUser) {
return $someUser['affiliated_by'] > $otherUser['affiliated_by'] ? 1 : -1;
});
return $chain;
}
$text = "тут мой текст";
$stopWords = explode(PHP_EOL, file_get_contents("stop-words.txt"));
$message = "готово":
foreach (explode(" ", $text) as $word) {
if (in_array($word, $stopWords)) {
$message = "Ошибка";
break;
}
}
echo $message;
SELECT
`product`.*,
SUM(`pay`.`sum`)/`product`.`price`*100 AS 'percent' -- исправьте эту строку, применив правильную формулу.
FROM
`product`
JOIN `pay` ON `product`.`paysystem_id` = `pay`.`pay_id`
GROUP BY `product`.`id`
<?php foreach ($products as $product): ?>
<?= $product['percent'] ?>
<?php endforeach; ?>
<input name="rows[0][value]">
<input name="rows[1][value]">
<input name="rows[2][value]">
$rows = $_POST['rows'];
foreach ($rows as $row) {
$value = $row['value'];
/* Здесь делайте с $value что хотите */
}
</php>
и не работает
$id= $data[0]['id'];
foreach ($data as $datum) {
$id = $datum['id'];
}
$someArray = []; // ваш первый массив со ссылками
$otherArray = ['obj'=>[]]; // ваш второй массив с расщиренными данными. 'obj' использовать необязательно, это я взял из примера данных.
$necessaryArray = array_values(array_filter($otherArray['obj'], function($element) use ($someArray) { // я использую array_values, чтобы ключи результирующего массива шли по порядку. Это необязательно, но часто бывает полезно
return array_key_exists("url", $element) && in_array($element['url'], $someArray);
}));
$string = "10 01 32 05 54";
$numbers = explode(" ", $string);
$filtered = array_filter($numbers , function($number) {
return in_array($number, ["01", "02", "03", "04", "05"]);
});
$minPage = $page-5 > 0 ? $page-5 : 0;
$maxPage = $page+5 < $num_pages ? $page+5 : $num_pages;
$strnum = '<ul class="pagination">';
if ($minPage > 0) {
$strnum .= '<li class="paginate_button"><a href="?page='.($minPage-1).'" aria-controls="example2" data-dt-idx="2" tabindex="0">Назад</a></li>';
}
foreach (range($minPage, $maxPage) as $i) {
$currentPageClass = $i==$page ? ' active' : '';
$strnum .= '<li class="paginate_button'.$currentPageClass.'"><a href="?page='.$i.'" aria-controls="example2" data-dt-idx="2" tabindex="0">'.$i .'</a></li>';
}
if ($maxPage < $num_pages) {
$strnum .= '<li class="paginate_button"><a href="?page='.($maxPage+1).'" aria-controls="example2" data-dt-idx="2" tabindex="0">Вперед</a></li>';
}
$strnum .= '</ul>';
UPDATE `product_description`
SET `product_description`.`text`=LEFT(`product_description`.`text`, LOCATE('iframe', `product_description`.`text`)-1)
WHERE 1
AND `product_description`.`text` LIKE '%cincopa%'
AND `product_description`.`text` LIKE '%iframe%'
function connect($server, $login, $password, $db) {
return mysqli_connect($server, $login, $password, $db)
}
$connection = connect($server, $login, $password, $db);
function connect() {
global $server;
global $login;
global $password;
global $db;
return mysqli_connect($server, $login, $password, $db);
}
$connection = connect($server, $login, $password, $db)
$connect = function() use ($server, $login, $password, $db) {
return mysqli_connect($server, $login, $password, $db);
};
$connection = $connect();
array("Accept:application/json")