- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
function explode( delimiter, string ) { // Split a string by string
//
// + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + improved by: kenneth
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
var emptyArray = { 0: '' };
if ( arguments.length != 2
|| typeof arguments[0] == 'undefined'
|| typeof arguments[1] == 'undefined' )
{
return null;
}
if ( delimiter === ''
|| delimiter === false
|| delimiter === null )
{
return false;
}
if ( typeof delimiter == 'function'
|| typeof delimiter == 'object'
|| typeof string == 'function'
|| typeof string == 'object' )
{
return emptyArray;
}
if ( delimiter === true ) {
delimiter = '1';
}
return string.toString().split ( delimiter.toString() );
}
Из сборника JS-реализаций PHP функций : http://javascript.ru/php/explode
Сюда можно половину этого сборника постить.
TarasB 17.03.2011 17:24 # −2
Анонимус 17.03.2011 17:46 # −2
istem 17.03.2011 23:02 # 0
А вот сейчас оказывается, что динамическая типизация - это не есть хорошо.
"Абидна, слюшай"...
Анонимус 17.03.2011 23:30 # 0
статическая (компайл тайм) тоже хорошо
хорошо когда есть обе (как в жабе)
плохо когда нет динамической (как в сях)
плохо когда нет статической (как в пыхе)
без статической прикольно писать скрипты на 20 строк
в мире питона правда уверены что статическая типизация не нужна, потому что от бед она все равно не спасет, а спасут юнит=тесты, которыми там покрывают 99% кода, а раз есть юнит-тесты то можно жить и без статики.
но к миру PHP, равно как и к JS, эта идеология явно не относится)
scalar4eblo4no 17.03.2011 17:54 # 0
danilissimus 17.03.2011 18:58 # −5
они являтся ПОЛНОЙ КОПИЕЙ функций из PHP, т.е. эти проверки нужны для того, чтобы функция вела себя точно-также как и в PHP.
посрал в карму
wvxvw 17.03.2011 21:40 # −2
PHP и JavaScript в принципе не могут работать одинаково, только если поставить цель получить одинаковый результат, его можно получить, предварительно оговорив "правила". А универсальных решений быть не может. Уже сама по себе попытка написать такую функцию вызывает подозрение...
scalar4eblo4no 18.03.2011 23:27 # 0
Или в случае если первый параметр это булевое true (!!!) , то в качестве разделителя использовала бы символ '1' ?
Это же полный, прошу прощени, пи*дец.
Ни одна из проверок здесь не имеет ни малейшего смысла в данном случае.
scalar4eblo4no 18.03.2011 23:32 # 0
http://svn.php.net/viewvc/php/php-src/trunk/ext/standard/string.c?view=markup
bugmenot 17.03.2011 19:52 # +1