sales_amount_title
и в общий массив добавляйте под этим ключом значение, или создавайте такой ключ с текущим значением. Переводите сначала значения из строки в числа.$totals = [];
foreach($posts as $post) {
$key = $post['sales_amount_title'];
$value = intval( $post['sales_amount_amount'] );
if(isset($totals[$key])) $totals[$key] += $value;
else $totals[$key] = $value;
}
preg_match('/^(.+)\ \((.+)\)/', $name, $matches);
array_shift($matches);
$matches; /*Array
(
[0] => Ньютон И.И.
[1] => Тринити коледж, Кембридж
)*/
$name = "Ньютон И.И. (Тринити коледж, Кембридж)";
$name = substr($name, 0, -1);
$result = explode(' (', $name);
print_r($result);
virus.exe.gif
$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;
}