ФорумПрограммированиеPHP для идиотов → Как получить число из строки?

Как получить число из строки?

  • smackthat

    Сообщения: 464 Репутация: N Группа: Адекваты

    Spritz 28 марта 2010 г. 13:46

    Привет! Тоесть у меня есть строка, допустим часть URL - zenvo-automotive-st1
    Мне нужно получать число из этой строки, которое всегда будет одинаковым в определенных пределах. Тоесть например для строки zenvo-automotive-st1 это число будет всегда 5, для zenvo-automotive-st1-tra-ta-ta это будет уже 7. Тоесть числа случайны в каком-то пределе, но постоянны для одной и той же строки.

    Как я понял для такого используется hash, но он тоже возвращает длинную строку с каким-то бредом.
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 28 марта 2010 г. 13:59, спустя 13 минут 26 секунд

    Как я понял для такого используется hash, но он тоже возвращает длинную строку с каким-то бредом.
    хахаха

    регулярки в помощь
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 28 марта 2010 г. 14:01, спустя 1 минуту 32 секунды

    smackthat, почитай о всех видах хешей и алгоритмах, тогда ты прозреешь
    adw/0
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 28 марта 2010 г. 14:03, спустя 2 минуты 6 секунд


    Как я понял для такого используется hash, но он тоже возвращает длинную строку с каким-то бредом.
    хахаха

    регулярки в помощь
    ты понял вообе вопрос?
    Сапожник без сапог
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 28 марта 2010 г. 14:06, спустя 3 минуты 38 секунд

    Тоесть например для строки zenvo-automotive-st1 это число будет всегда 5, для zenvo-automotive-st1-tra-ta-ta это будет уже 7.

    можешь составить словарь вида
    > "строка": "значение"
    > (zenvo-automotive-st1: 5, zenvo-automotive-st1-tra-ta-ta: 7)
    и при добавлении нового присваивать следующее число
    Спустя 45 сек.
    и вообще не париться с хешами
    adw/0
  • bastonc

    Сообщения: 28 Репутация: N Группа: Кто попало

    Spritz 28 марта 2010 г. 14:16, спустя 9 минут 49 секунд

    совет от adw0rd действенен, можеш конечно и с хешем - криминала нет, реализация тоже не сложна. Не пойму зачем я вообще отвечаю на этот вопрос, так же как не пойму зачем его задавать, если имееш чёткое представление о том как это сделать… эээ, эт мысли вслух не обращайте внимания…
  • smackthat

    Сообщения: 464 Репутация: N Группа: Адекваты

    Spritz 28 марта 2010 г. 14:18, спустя 1 минуту 52 секунды

    я вот порылся, и нашел, что хеш это число с основанием 16. Тоесть вот так его в обычное число можно:

    echo base_convert(md5('12345'), 16, 10);

    Тоесть можно например брать первых 3 цифры выйдет как бы в пределах от 1 до 1000.

    Поясню зачем мне это нужно, может проще решение есть, без хешей. На сайте куча страниц и на каждой есть рекламный блок. По url я хочу получить число (числа), которое будет как-то характеризировать рекламный блок (положение в структуре страницы, там несколько колонок (0-слева 1-поцентру 2-справа и тд), количество блоков (1-3) и так далее. Тоесть мне для каждого url нужно n случайных постоянных чисел в определенном мною пределе.
    Спустя 57 сек.

    Тоесть например для строки zenvo-automotive-st1 это число будет всегда 5, для zenvo-automotive-st1-tra-ta-ta это будет уже 7.

    можешь составить словарь вида
    > "строка": "значение"
    > (zenvo-automotive-st1: 5, zenvo-automotive-st1-tra-ta-ta: 7)
    и при добавлении нового присваивать следующее число
    Спустя 45 сек.
    и вообще не париться с хешами

    словарь мне не подходит, так как строка, с которой нужно получить числа заранее неизвестна.
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 28 марта 2010 г. 14:18, спустя 23 секунды



    Как я понял для такого используется hash, но он тоже возвращает длинную строку с каким-то бредом.
    хахаха

    регулярки в помощь
    ты понял вообе вопрос?
    после ответа адворда понял
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • bastonc

    Сообщения: 28 Репутация: N Группа: Кто попало

    Spritz 28 марта 2010 г. 14:24, спустя 5 минут 27 секунд

    smackthat эм прости. попытался разобраться, не понял одного момента, тебе эти ассоциированые числа с URL нужны как статическая информация или формируется как динамическая в роцессе работы скриптов?
  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 28 марта 2010 г. 14:30, спустя 6 минут 16 секунд


    Тоесть мне для каждого url нужно n случайных постоянных чисел в определенном мною пределе.
    А нафига для этого url хешировать, если речь идет о предопределенных константах? Какая связь? Ну и храни себе url и все его характеристики …
  • smackthat

    Сообщения: 464 Репутация: N Группа: Адекваты

    Spritz 28 марта 2010 г. 14:32, спустя 1 минуту 50 секунд

    формируется в процессе работы скрипта
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 28 марта 2010 г. 14:34, спустя 1 минуту 54 секунды

    Тоесть можно например брать первых 3 цифры выйдет как бы в пределах от 1 до 1000.
    И выйду как бы коллизии
    adw/0
  • smackthat

    Сообщения: 464 Репутация: N Группа: Адекваты

    Spritz 28 марта 2010 г. 14:35, спустя 1 минуту 5 секунд



    Тоесть мне для каждого url нужно n случайных постоянных чисел в определенном мною пределе.
    А нафига для этого url хешировать, если речь идет о предопределенных константах? Какая связь? Ну и храни себе url и все его характеристики …

    url - это ключ. Я вручную параметры не должен задавать, они должны случайно генериться на основе чего-то, что уникально определяет страничку, я выбрал url.
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 28 марта 2010 г. 14:37, спустя 1 минуту 42 секунды

    словарь мне не подходит, так как строка, с которой нужно получить числа заранее неизвестна.
    ну так я и говорю, ты при получении новой строки добавляешь ее в словарь и инкрементишь, и в рамках одного приложения (на которе распостраняется словарь) это будет равносильно уникальности хешу, но числа будут не огромные, и это главное.

    Словарь может быть и таблицей в БД
    adw/0
  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 28 марта 2010 г. 14:37, спустя


    формируется в процессе работы скрипта
    Да похер откуда они берутся. Они ассоциированы с урлом. Так? Вопрос прежний, нах хешировать урл?

Пожалуйста, авторизуйтесь, чтобы написать комментарий!