SELECT *
использовать SELECT type, lvl, country, isoc
так как лишние данные, это лишние задержки.SELECT ... FROM table WHERE uid IN(uid1, uid2, uidN)
<?php
function draw($array)
{
foreach($array as $item)
{
if(isset($item['CHILD']))
{
echo '<li>'.$item['NAME'].'<ul>';
draw($item['CHILD']);
echo '</ul></li>';
}
else
{
echo '<li>'.$item['NAME'].'</li>';
}
}
}
$arr = [
'CHILD' => [
'16' => [
'NAME' => '1',
'CHILD' => [
'17' => [
'NAME' => 'a'
],
'18' => [
'NAME' => 'b'
]
]
]
]
];
echo '<ul>';
draw($arr['CHILD']);
echo '</ul>';
/*Сохранение результата в промежуточном массиве*/
$orderinfo["goods"] = $items;
/*добавление промежуточного массива в возвращаемый массив*/
$allorders[]=$ordersinfo;
case
('Промо'):
$sql = 'SELECT * FROM promo';
$result = mysqli_query($link, $sql);
$array = array();
while($row = mysqli_fetch_array($result))
{
$item['promo_name'] = $row['promo_name'];
$item['promo_descr'] = $row['promo_descr'];
$item['promo_link'] = $row['promo_link'];
$cod[] = $item;
}
$text = ''; // <---
foreach($cod as $v)
{
$new_line = $v['promo_name'].' - '.$v['promo_descr'].' <a href="'.$v['promo_link'].'">перейти к акции</a><br/>';
if(mb_strlen($text) + mb_strlen($new_line) > 4096) // <---
{
file_get_contents($GLOBALS['api'].'/sendMessage?chat_id='.$chat_id.'&reply_markup='.$keyboard.'&text='.urlencode($text));
$text = '';
}
$text .= $new_line; // <---
}
if($text != '') // <---
{
file_get_contents($GLOBALS['api'].'/sendMessage?chat_id='.$chat_id.'&reply_markup='.$keyboard.'&text='.urlencode($text));
}
// file_get_contents($GLOBALS['api'] . '/sendMessage?chat_id='.$chat_id.'&reply_markup='.$keyboard.'&text=' . urlencode("Код ".$row['promo_name']." \n ".$row['promo_descr']." \n Ссылка ".$row['promo_link']." "));
break;
func_a(3, 5); //у нас появляется функция func_arg которую теперь можем вызывать
var_dump(func_arg(7, 9));
var_dump(function_exists('func_arg')); //false
func_a(3, 5);
var_dump(function_exists('func_arg')); //true
function func_a()
{
//
}
function func_arg()
{
//
}
$inline_button = [
'text' => "Показать список команд",
'callback_data' => '/showcomands/',
];
$inline_keyboard = [[$inline_button]];
$keyboard = json_encode(["inline_keyboard" => $inline_keyboard]);
return $keyboard;
<?php
$str =
"
line 1
line 2
line 3\r
line 4
";
$str_cleared = join("\n", array_map('trim', explode("\n", $str)));
var_dump($str);
var_dump($str_cleared);
string(50) "
line 1
line 2
line 3
line 4
"
string(29) "
line 1
line 2
line 3
line 4
"
foreach ($results as $result)
{
//получаем массив со списком статусов для заказа
$statushistory = array();
foreach($result->statushistory[0] as $child)
{
$attrsStatusHistory = $child->attributes();
$status = array(
'eventstore' => (string)$attrsStatusHistory['eventstore'],
'eventtime' => (string)$attrsStatusHistory['eventtime'],
'createtimegmt' => (string)$attrsStatusHistory['createtimegmt'],
'title' => (string)$attrsStatusHistory['title']
);
$statushistory[] = $status;
}
$order = array(
// ... код как у вас был
'statushistory' => $statushistory,
);
}
use Telegram\Bot\Keyboard\Keyboard;
$buttons = [
['qqq', 'www', 'eee'],
['rrr', 'ttt', 'yyy'],
['uuu', 'iii', 'ooo'],
];
$keyboard = Keyboard::make()->setOneTimeKeyboard(false)->setResizeKeyboard(true);
foreach($buttons as $row)
{
$keyboard->row(...$row);
}
function get_post() {
global $link;
$sql = "SELECT * FROM projects WHERE categoty = 'top' ORDER BY id desc";
$result = mysqli_query($link, $sql);
$posts = array(); // <---- инициализируем posts как пустой массив
while ($row = $result->fetch_assoc()) {
$posts[] = $row; // <---- наполняем массив данными из бд
}
return $posts;
}
<?php
$posts = get_post();
?>
<?php foreach ($posts as $post) : ?>
<div class="portfolio_project wow fadeInUp">
<a href="/project.php?post_id=<?= $post['id'] ?>">
<h1><?php echo $post['title'] ?></h1>
</a>
</div>
<?php endforeach; ?>
$if = (0.5 < 0.6); //true
if ($if) {
echo 'YES';
} else {
echo 'NO';
}
Предостережение
Языковая конструкция eval() может быть очень опасной, поскольку позволяет выполнить произвольный код. Использование данной функции не рекомендуется. Если вы полностью убеждены, что нет другого способа, кроме использования этой конструкции, обратите особое внимание на то, чтобы не передавать какие-либо данные, предоставленые пользователем, без предварительной проверки.
<?php
$if = eval('return 0.5 < 0.6;');
var_dump($if); //true
eval('$if = 0.5 < 0.6;');
var_dump($if); //true
curl_file_create ( string $filename [, string $mimetype [, string $postname ]] ) : CURLFile
<?php
$url = "http://hurtworld.pro/vkrss-master/index.php?id=[xfvalue_vk]&access_token=e3a2f8bbe3a2f8bbe3a2f8bb95e3cfdcb4ee3a2e3a2f8bbbe323a8a6ed61cd403611649"; // Адрес до RSS-ленты
$rss = simplexml_load_file($url);
foreach ($rss->channel->item as $items) {
//добавляем target="_blank"
$items->description = str_ireplace('<a href=', '<a target="_blank" href=', $items->description);
echo <<<HTML
<h5><font color="white"><code>{$items->pubDate}</code></font></h5>
<p><font color="white">{$items->description}</font></p>
<a target="_blank" href="{$items->link}"><button class="label label-success" style="text-decoration: none;">
<font color="white"> Подробнее</font>
</center>
</button>
</a>
<hr>
HTML;
}