#php
#php
Вопрос:
Хорошо, у меня возникли некоторые проблемы с strtotime(), используя этот класс php, я получу ответ типа:
03 апреля 2019, 22:32:12 CEST Умер на уровне 988 от guzzlemaw.
Затем я использую implode(), чтобы получить только 03 апреля 2019, 22:32:12 CEST , однако при попытке strtotime($output_str) он возвращает nil .
Почему?
include_once "TibiaWebAPI.class.php";
$player = new TibiaPlayer("Punbelz");
if($player->getDeaths()) {
$lastdeath = $player->getDeaths()[0];
$output_str = implode(" ", array_splice(explode(" ",$lastdeath),0,1));
echo strtotime($output_str);
}
Для справки, это TibiaWebAPI.class
Редактировать:
Даже при использовании preg_match() это не работает.
include_once "TibiaWebAPI.class.php";
$player = new TibiaPlayer("Punbelz");
if($player->getDeaths()) {
$lastdeath = $player->getDeaths()[0];
$pattern = "/(.*?)[0-9] [:][0-9] [:][0-9] /";
if (preg_match($pattern, $lastdeath, $matches)) {
$myDate = $matches[0];
echo strtotime($myDate);
}
}
Комментарии:
1. Вы должны получить уведомление: только переменные должны передаваться по ссылке
2. Да, но я даже пытался использовать preg_replace или preg_match, в обоих случаях я не смог использовать strtotime() .
Ответ №1:
Сначала вы хотите array_slice
, или вы получаете уведомление: только переменные должны передаваться по ссылке. Во-вторых, вам нужно получить 5 элементов:
$output_str = implode(" ", array_slice(explode(" ", $lastdeath), 0, 5));
echo strtotime($output_str);
Если Died
всегда будет разделять два, то просто взорвется на этом:
$output_str = explode(" Died ", $lastdeath);
echo strtotime($output_str[0]);
Комментарии:
1. Если я использую этот implode(), я получу: 03 апреля 2019, 22:32:12 CEST Умер на уровне 988, а не date(), во всяком случае, с preg_match() или preg_replace(), это тоже не работает, это что-то с strtotime()
2. Действительно странно, это правда, использование некоторых онлайн-IDE также будет работать, однако при получении ответа класса это не работает, это массив print_r() ([0] => 03 апреля 2019, 22:32:12 CEST Умер на уровне 988 от guzzlemaw. )
3. Тогда ваш текст не такой, как вы думаете, сделайте
var_dump()
это и просмотрите источник страницы.