Эта тема на forum.dklab.ru


dima: Помогите прочитать значения...
Короче есть переменная, в которой написаннот, например:
Вася=1 Федя=20 Миша=3 Маша=21 Саша=100
как прочитать слово и значение к нему?????
Юрий Насретдинов:
dima:
Вообще говоря не в этом форуме надо бы писать

А вообще говоря - примерно так:


$string = "Вася=1 Федя=20 Миша=3 Маша=21 Саша=100"; //та строка, в которой нужно прочесть значения
$part = explode(" ",$string);

foreach($part as $key=>$value)
{
$part1 = explode("=",$value);
$database[$part1[0]]=$database[1];
}

var_dump($database);


Проще, боюсь, сделать никак не получится.
Дмитрий Эсс:
Перенесено из форума: Программирование::PHP::Склад готовых решений.
Перенесено в форум: Программирование::PHP::Все в кучу.
Дмитрий Эсс:
dima:
Для чего Вы это используете? Откуда Вы генерите эту строку? Почти уверен, что есть более лёгкий способ передать эти данные.
Юрий Насретдинов:
Дмитрий Эсс:
Это наоборот, очень простой способ передачи данных (я такой способ довольно часто использую, например, при записи настроек в файл (я даже написал на этом принципе свой config-editor ("умный" редактор файлов типа config.inc.php)). Максимум 8 строк для обработки такого вида записи - это совсем немного.
Дмитрий Эсс:
yUAC:
Давай всё-таки посмотрим, что ответит автор темы. Я не спорю, что так удобно делать в некоторых ситуациях, но не всегда.
dima:
Я пробую скачать информация с сайта чужого
capitalcity.combats.ru/inf.pl?login=vasa&short=1
но у меня не очень получается...
Юрий Насретдинов:
Понятно. Я даже не знал, что на combats.ru есть режим short при просмотре профиля :). Вы как пытаетесь скачать? Самый простой способ это сделать примерно так:


$fp=fopen("http://capitalcity.combats.ru/inf.pl?login=vasa&short=1","r");
//**
$result="";
while(!feof($fp))
{
$result.=fgets($fp,1000);
}
fclose($fp);


В переменной $result будет эта строка.

Еще в принципе можно сделать так (работает только в PHP версии >= 4.3.0)

$result=file_get_contents("http://capitalcity.combats.ru/inf.pl?login=vasa&short=1");


В любом случае никаких проблем должно возникнуть, если это не противоречит правилам Бойцовского Клуба. Интересно, зачем кстати это Вам ?
dima:
Вот, whois хочу написать :)) денег подзаработать...

Если что мой нек в комбатсе - †wind†
Дмитрий Эсс:
денег подзаработать...
Сделать показ информации об игроке платным? =)
dima:
А как в том php коде, где смотрятся значения, чтонить проверить??
Дмитрий Эсс:
А куда воткнуть проводок в этот странный ящик у меня под столом?
dima:
да я честно не врубаюсь...
Юрий Насретдинов:
dima:
Запустите сначала этот код, потом задавайте глупые вопросы.
dima:
я запустил, он мне написал:
array(4) { ["login"]=> NULL ["city gamecity_url"]=> NULL ["city date_registry"]=> NULL ["14:05 objects"]=> NULL }
dima:
это если туда подставить то что с сайта скапнул...
Юрий Насретдинов:
dima:
Исходная строка какая была ?
dima:
Которая с сайта..
dima:
последние, чего я добился это код:

<?php
$result=file_get_contents("http://capitalcity.combats.ru/inf.pl?login=$QUERY_STRING&short=1");

$string = "$result"; //та строка, в которой нужно прочесть значения

$part = explode("\n",$string);

foreach($part as $key=>$value)
{
$part1 = explode("=",$value);
$database[$part1[0]]=$database[1];
}

var_dump($database);

?>


но он почему-то пишет:


array(30) { ["login"]=> NULL ["login_online"]=> NULL ["id"]=> NULL ["align"]=> NULL ["zodiac"]=> NULL ["blocked"]=> NULL ["img"]=> NULL ["gamecity"]=> NULL ["gamecity_url"]=> NULL ["room_name"]=> NULL ["battle_id"]=> NULL ["level"]=> NULL ["vicrory"]=> NULL ["defeat"]=> NULL ["klan"]=> NULL ["bossklan"]=> NULL ["rank"]=> NULL ["name"]=> NULL ["sex"]=> NULL ["dex"]=> NULL ["str"]=> NULL ["inst"]=> NULL ["power"]=> NULL ["intel"]=> NULL ["wis"]=> NULL ["birthplace"]=> NULL ["date_registry"]=> NULL ["objects"]=> NULL ["HP"]=> NULL [""]=> NULL }



незнаю, что там ещё поменять...
dima:
Если такой массив, как из него прочитать что нить...



array(30) {
[0]=>
array(2) {
[0]=>
string(5) "login"
[1]=>
string(9) "NetSurfer"
}
[1]=>
array(2) {
[0]=>
string(12) "login_online"
[1]=>
string(0) ""
}
[2]=>
array(2) {
[0]=>
string(2) "id"
[1]=>
string(10) "1048093350"
}
[3]=>
array(2) {
[0]=>
string(5) "align"
[1]=>
string(1) "0"
}
[4]=>
array(2) {
[0]=>
string(6) "zodiac"
[1]=>
string(1) "2"
}
[5]=>
array(2) {
[0]=>
string(7) "blocked"
[1]=>
string(0) ""
}
[6]=>
array(2) {
[0]=>
string(3) "img"
[1]=>
string(2) "m5"
}
[7]=>
array(2) {
[0]=>
string(8) "gamecity"
[1]=>
string(12) "Capital city"
}
[8]=>
array(2) {
[0]=>
string(12) "gamecity_url"
[1]=>
string(29) "http://capitalcity.combats.ru"
}
[9]=>
array(2) {
[0]=>
string(9) "room_name"
[1]=>
string(0) ""
}
[10]=>
array(2) {
[0]=>
string(9) "battle_id"
[1]=>
string(0) ""
}
[11]=>
array(2) {
[0]=>
string(5) "level"
[1]=>
string(1) "7"
}
[12]=>
array(2) {
[0]=>
string(7) "vicrory"
[1]=>
string(3) "389"
}
[13]=>
array(2) {
[0]=>
string(6) "defeat"
[1]=>
string(3) "322"
}
[14]=>
array(2) {
[0]=>
string(4) "klan"
[1]=>
string(0) ""
}
[15]=>
array(2) {
[0]=>
string(8) "bossklan"
[1]=>
string(1) "0"
}
[16]=>
array(2) {
[0]=>
string(4) "rank"
[1]=>
string(0) ""
}
[17]=>
array(2) {
[0]=>
string(4) "name"
[1]=>
string(7) "Алексей"
}
[18]=>
array(2) {
[0]=>
string(3) "sex"
[1]=>
string(7) "Мужской"
}
[19]=>
array(2) {
[0]=>
string(3) "dex"
[1]=>
string(2) "19"
}
[20]=>
array(2) {
[0]=>
string(3) "str"
[1]=>
string(2) "17"
}
[21]=>
array(2) {
[0]=>
string(4) "inst"
[1]=>
string(2) "21"
}
[22]=>
array(2) {
[0]=>
string(5) "power"
[1]=>
string(2) "26"
}
[23]=>
array(2) {
[0]=>
string(5) "intel"
[1]=>
string(1) "0"
}
[24]=>
array(2) {
[0]=>
string(3) "wis"
[1]=>
string(1) "0"
}
[25]=>
array(2) {
[0]=>
string(10) "birthplace"
[1]=>
string(11) "Demons city"
}
[26]=>
array(2) {
[0]=>
string(13) "date_registry"
[1]=>
string(14) "19.03.03 20:02"
}
[27]=>
array(2) {
[0]=>
string(7) "objects"
[1]=>
string(9) "sword11,,"
}
[28]=>
array(2) {
[0]=>
string(2) "HP"
[1]=>
string(7) "156/156"
}
[29]=>
array(1) {
[0]=>
string(0) ""
}
}

Дмитрий Эсс:
dima:
Давайте так. Выложите всё, что Вам надо от готового скрипта и потом, если у кого-нибуть будет свободное время (ну а вдруг), то Вам этот скрипт напишут. А то уже "каша из топора" получается.
dima:
Всё, я его наконец-то написал :)))
Дмитрий Эсс:
Закрываю тему.
Её можно вообще удалить, но пусть немного повисит.

Эта тема на forum.dklab.ru