За последние 24 часа нас посетили 59254 программиста и 1751 робот. Сейчас ищут 887 программистов ...

Explode

Тема в разделе "PHP для новичков", создана пользователем 715kg, 8 фев 2014.

  1. 715kg

    715kg Активный пользователь

    С нами с:
    2 мар 2013
    Сообщения:
    147
    Симпатии:
    0
    Здравствуйте, функция

    Код (Text):
    1. $q = explode(",", $pizza);
    Выводит массив такого вида

    Код (Text):
    1. Array
    2. (
    3.     [0] => один
    4.     [1] => два
    5.     [2] => три
    6. )
    А как сделать чтобы она выводила массив такого вида?

    Код (Text):
    1. Array
    2. (
    3.     [00] => один
    4.     [01] => два
    5.     [02] => три
    6.  
    7. Ну и далее
    8.  
    9. [09] => восемь
    10. [10] => девять
    11. )
    Добавлено спустя 23 секунды:
    То есть не 0 - 1 - 2 - 3 А 00- 01- 02- 03
     
  2. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Ну я вижу 2 выхода:
    1. Скачать исходники php и переписать функцию
    2. Написать письмо разработчикам, но жалостливое что бы прям до слез пробирало, тогда я думаю они тебе перепишут.

    П,С.
    Зачем?
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Начерта?
     
  4. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Код (PHP):
    1. $pizza = 'один,два,три,четыре,пять,шесть,семь,восемь,девять,десять';
    2. $arr_vals = explode(",", $pizza);
    3. $cnt = count($arr_vals);
    4. $arr_keys = array();
    5. for ($number = 1; $number <= $cnt; $number++) {
    6.     //printf("%02d\n", $number); // так будет только выводить на экран, но вам на заметку
    7.     $arr_keys[] = str_pad($number, 2, 0, STR_PAD_LEFT);
    8. }
    9. $res_arr = array_combine( $arr_keys , $arr_vals );
    10. echo '<pre>';
    11. print_r($res_arr);
     
  5. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Код (PHP):
    1. $string='один,два,три,четыре,пять,шесть,семь,восемь,девять,десять';
    2. $explode=explode(',',$string);
    3. $i=1;
    4. foreach($explode as $key => $value) {
    5.     unset($explode[$key]);
    6.     if($i<=9) {
    7.         $i='0'.$i;
    8.         $explode[$i]=$value;
    9.     } else {
    10.         $explode[$i]=$value;
    11.     }
    12.     ++$i;
    13. }
    14. echo'<pre>';
    15. print_r($explode); 
    =)))
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    правильный подход - форматировать данные при выводе. а не при запихивании в массив.
     
  7. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Вообще не пойму зачем могло понадобиться так делать, по этому добавил до кучи...
    Правильно будет просто привести к целому числу и не ипаться, как бы это не хотелось.
     
  8. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    sprintf()