- 1
- 2
- 3
- 4
$var = null;
// Не вызовет: "Notice: Undefined Index 0"
var_dump($var[0][1][2][3]['route']); // NULL
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+157
$var = null;
// Не вызовет: "Notice: Undefined Index 0"
var_dump($var[0][1][2][3]['route']); // NULL
PHP не показывает Notic'ы если переменная или значение является NULL'ом при попытки получить доступ к элементам массива (заметил это когда функция могла возвратить null или массив). Нашел это интересным.
+157
for($i = 0; $i < $count; ++$i){
$result_formatted[$i][] = $result[$counter];
++$counter;
$result_formatted[$i][] = $result[$counter];
++$counter;
}
Magic operations
+157
function calcHTime($stt) {
$secs = time() - $stt;
$h = (int) ($secs / 3600);
$m = (int) (($secs - ($h * 3600)) / 60);
$s = (int) ($secs - ($h * 3600) - ($m * 60));
return sprintf("%02d:%02d:%02d", $h, $m, $s);
}
+157
function run()
{
var test = [60, 1, 5, 70, 8];
var biggest = 100;
var biggest_index = 0;
for (var i = 0; i < test.length; i++)
{
if (test[i] < test[i + 1])
{
biggest = test[i + 1];
test[biggest - [i + 1]] = [biggest];
}
}
test[test.length] = biggest;
}
run();
таск был найти наибольшего эллемента масива [60, 1, 5, 70, 8]; во что получилось у коллеги новобранца. это был его 20-ты опыт ;)
+157
if ( diffYear < 5 ) {
document.getElementById('yearsText').innerHTML = "года |";
} else if ( diffYear > 1 ){
document.getElementById('yearsText').innerHTML = "лет |";
} else {
document.getElementById('yearsText').innerHTML = "год |";
}
if ( diffMonth > 4 ) {
document.getElementById('monthText').innerHTML = "месяцев |";
} else if ( diffMonth > 1 ){
document.getElementById('monthText').innerHTML = "месяца |";
} else {
document.getElementById('monthText').innerHTML = "месяц |";
}
if ( diffDay > 5 ) {
document.getElementById('monthText').innerHTML = "дней |";
} else if ( diffDay > 1 ){
document.getElementById('monthText').innerHTML = "дня |";
} else {
document.getElementById('monthText').innerHTML = "день |";
}
}
очередная кака с датой
+157
<?php
// comment out the following two lines when deployed to production
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');
require(__DIR__ . '/../vendor/autoload.php'); // загружаем автозагрузчик
require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php'); // DISREGARD THIS, загружаем вручную
$config = require(__DIR__ . '/../config/web.php');
(new yii\web\Application($config))->run();
Входной скрипт Yii 2. Эта штука требует небольшого пояснения.
Дело в том, что использовать константу YII_ENV для разработчиков оказалось некошерно, поэтому используются булевы константы YII_ENV_DEV, YII_ENV_PROD, YII_ENV_TEST, которые вычисляются в файле класса BaseYii (на всякий уточню - да, в файле с объявлением класса первым делом высчитываются глобальные константы).
Так как понятие декларативной конфигурации тоже не очень близко этому фреймворку, эти константы используются прямо в конфигурационном php-файле. То есть, файл Yii.php обязан быть подгружен до того, как будут подгружены конфиги. А даже если сделать конфиг без использования этих констант или объявить их заранее, то последними строками Yii.php (после объявления класса) идет подключение автозагрузчика (да-да, в файле, который тоже служит для объявления класса), без которого почему-то никак (в composer-based проекте, ага). Ну, то есть без ручного подключения файла в этом фреймворке всё-таки вообще никак.
Я не понимаю, как можно было умудриться идти практически по всем современным стандартам и опять проебать всё.
+157
<?php
function clear($field){
$field = htmlspecialchars($field);
$field = str_replace("\"","", $field);
$field = str_replace("'","\'",$field);
return $field;
}
if(isset($_POST['name'])){
$name = clear($_POST['name']);
echo $name;
}
?>
<form method="post">
<p>you name:<br>
<input name="name" type="text" value="">
</p>
<input type="submit" value="Send">
</form>
Прафисианналы "PHP" пишут защиту от XSS.
Отсюда: http://mzcoding.com/php_articles/xss__csrf__ataki_i_zashhita_ot_nikh/11/
+157
$('.file_work .left .content a.create').bind('click', function(){
show.in_question(strings.question[2], {
0:strings.question[2].buttons[0],
1:strings.question[2].buttons[1]
}, function(action, string){
if(action !='ok'){
return;
}
if(string.length<4){
show.error(strings.error[7], '');
return;
}
CreateTag(cache.current, string);
});
});
+157
if ( isset( $woo_options['woo_style_disable'] ) && $woo_options['woo_style_disable'] != 'true' ) {} else {
if ( $output != '' ) { echo $output; }
см. {} else {
Приятная неожиданность, учитывая, что строка не помещается на экран.
Код взят из темы Canvas для Вордпресса.
+157
//full video url
define("VideoUrl","https://www.youtube.com/watch?v=XbGs_qK2PQA");
//extract ID
$videoID=get_youtube_id(VideoUrl);
echo $videoID; // will output : XbGs_qK2PQA
//extract function
function get_youtube_id($url,$debug='N'){
$res = parse_url($url);
if($debug=='Y'){
print_r($res);
}
$query = $res['query'];
$explode = explode('&',$query);
$explode2 = explode('=',$explode[0]);
return $explode2[1];
}
http://www.youtubemp3pro.com/api/
самый оптимальный код на извлечение id видео с тытуба