$baseRow = ['Имя' => '', 'Фамилия' => '', 'Адрес' => '', 'Телефон' => ''];
$template = <<<EOFTMPL
<tr>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
</tr>
EOFTMPL;
foreach($people as $row) {
$row = array_merge($baseRow, $row);
printf($template, $row['Имя'], $row['Фамилия'], $row['Адрес'], $row['Телефон']);
}
CURLOPT_FOLLOWLOCATION = true
, чтобы cURL выполнил все редиректы, и более ничего не менять.curl_getinfo($ch, CURLINFO_HTTP_CODE)
возвращает статус последнего ответа сервера. "HTTP/1.1 200 OK"
в случае найденного файла или "HTTP/1.1 404 Not Found"
if( preg_match( "#HTTP/[0-9\.]+\s+([0-9]+)#",$http_response_header[0], $matches ) )
$reponse_code = intval($matches[1]);
else $response_code = 0; // не получилось узнать код ответа че-т
function getAndSaveFile($url, $path, $fileName = false) {
// открываем содержимое файла
$file = @file_get_contents($url);
// если не удалось получить файл вернем false
if(!$file) return false;
// получаем имя файла, если не задано, то берем из урла
if(!$fileName) $fileName = basename($url);
// файл для записи результата
$fp = fopen($fileName, 'w');
// подготавливаем cURL
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => $url,
CURLOPT_FILE => $fp,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_TIMEOUT => 100,
));
// выполняем запрос
curl_exec($ch);
// проверяем статус
if (curl_errno($ch)) { // какая-то ошибка, таймаут?
// закрываем cURL и файл
curl_close($ch);
fclose($fp);
return false;
} else {
$status_code = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
if( $status_code !== "200") {
// закрываем cURL и файл
curl_close($ch);
fclose($fp);
unlink($fileName);
return false;
}
return true;
}
}
wall.post()
публикует единственную запись.var params = {
"message": "Текст поста",
"from_group": 0,
};
var out = { "result": [] };
params.owner_id = 10101; // первая группа
params.guid = 'abrakadabra';
out.result.push( API.wall.post(data));
params.owner_id = 20202; // вторая группа
params.guid = 'drugayaabrakadabra';
out.result.push( API.wall.post(data));
// ...
params.owner_id = 2500025; // 25-я группа
params.guid = 'uniqueabrakadabra';
out.result.push( API.wall.post(data));
return out;
code
в методе execute()
$query = filter_input(
INPUT_GET,
'q',
FILTER_SANITIZE_STRING,
FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH | FILTER_FLAG_STRIP_BACKTICK
);
function mergeCount($arr) {
$keys = [];
foreach($arr as $item) {
$id = $item['id'];
$user = $item['user'];
if( isset( $keys[ $user])) {
$keys[ $user]['count']++;
} else {
$keys[$user] = [
'id' => $id,
'count' => 1
];
}
}
$result = [];
foreach($keys as $user=>$item) {
$result[] = [
'id' => $item['count'] > 1 ? $item['count'] : $item['id'],
'user' => $user
];
}
return $result;
}
$data = [
['id'=>367, 'user'=>'text'],
['id'=>370, 'user'=>'text'],
['id'=>432, 'user'=>'text1'],
['id'=>234, 'user'=>'text33'],
['id'=>264, 'user'=>'text33'],
];
$a = mergeCount($data);
print_r($a);
Array
(
[0] => Array
(
[id] => 2
[user] => text
)
[1] => Array
(
[id] => 432
[user] => text1
)
[2] => Array
(
[id] => 2
[user] => text33
)
)
(0..1)
, можно так:substr($n,0,3 + ceil(-log10(abs($n))) - abs(floor($n)) - 1)
printf('Success');
exit;
$decoded = json_decode($query);
if(!$decoded) {
printf("ВК вернул невообразимую фигню: %s", $query);
}
else if( $decoded->error) {
printf("Ошибка %d: %s\n", $decoded->error->error_code, $decoded->error->error_msg);
} else if( $decoded->response) {
printf("Пост опубликован с id %s\n", $decoded->response);
}
exit();
CURLOPT_POSTFIELDS => array( ...
CURLOPT_POSTFIELDS => http_build_query( array( ... ))
$Element
, после этого отсортировать и вывести:<?php
$Element = 400;
$keys = array_keys(
$arResult['DISPLAY_PROPERTIES']['OTHER_COLORS']['LINK_ELEMENT_VALUE']
);
array_push($keys, $Element);
sort($keys, SORT_NUMERIC);
foreach($keys AS $intCurColorKey) {
echo( $intCurColorKey);
}
getDataFromAPI()
.require_once('getDataFromAPI.php');
<?php
$table_html = getDataFromAPI();
echo $table_html;
?>
function generate_n_passwords($n) {
$result = array();
while($n--) {
array_push( $result, generate_password());
}
return $result;
}
$myFivePasswords = generate_n_passwords(5);
/**
* Функция возвращает окончание для множественного числа слова на основании числа и массива окончаний
* param $number Integer Число на основе которого нужно сформировать окончание
* param $endingsArray Array Массив слов или окончаний для чисел (1, 4, 5),
* например array('яблоко', 'яблока', 'яблок')
* return String
*/
function getNumEnding($number, $endingArray)
{
$number = $number % 100;
if ($number>=11 && $number<=19) {
$ending=$endingArray[2];
}
else {
$i = $number % 10;
switch ($i)
{
case (1): $ending = $endingArray[0]; break;
case (2):
case (3):
case (4): $ending = $endingArray[1]; break;
default: $ending=$endingArray[2];
}
}
return $ending;
}
$param = filter_input(INPUT_GET, 'filter', FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH);
$filters = explode('-', $param);
$banner = $country = NULL;
$tags = [];
if( count($filters)) {
foreach($filters AS $filter) {
if( preg_match('/^[0-9\.]+$/', $filter)) { // 1.5.9
$banner = $filter;
} elseif( preg_match('/^(RU|EN)$/', $filter) { // RU
$country = $filter;
} else { // tag
array_push($tags, $filter);
}
}
}
$conditions = [];
$params = [];
if($banner) {
array_push($conditions, "`banner` = ?");
array_push($params, $banner);
}
if($country) {
array_push($conditions, "`country` = ?");
array_push($params, $country);
}
if(count($tags)) {
foreach($tags AS $tag) array_push($params, $tag);
array_push($conditions, sprintf(
"`category_id` IN (SELECT `category_id` FROM `categories` WHERE `name` IN (%s)",
implode(',', str_split( str_repeat('?', count($tags))))
));
}
$query = 'SELECT * FROM sometable';
if( count($conditions)) $query = $query . ' WHERE ' . implode(' AND ', $conditions);
$stmt = $dbh->prepare($query);
if( $stmt->execute($params)) {
while ($row = $stmt->fetch()) {
print_r($row);
}
}
count
полного числа друзей. Не забывайте про лимит в 3 запроса в секунду.$text = "Это мой текст. Да, вот такой.";
$text_v_kavychkah = "'" . $text . "'"; // точка означает склеивание строк
// или
$text_v_kavychkah = '\'' . $text . '\''; // только одинарные кавычки
// или
$text_v_kavychkah = "'$text'"; // в двойных кавычках подставится значение переменной
// или
$text_v_kavychkah = sprintf("'%s'", $text); // текстовое значение подставится вместо %s