Как разделить двухсимвольную строку и назначить ее отдельным переменным? - PullRequest
0 голосов
/ 12 октября 2018

Я хочу разделить два символа из элемента массива с помощью подстроки.

Например, данные из элемента массива rank_tier равны 52.

Я хочу назначить *От 1007 * до $firstnumber и 2 до $secondnumber.

Мой код ошибки:

Обнаружена ошибка PHP. Серьезность: предупреждающее сообщение: substr () ожидает параметр 1быть строкой, массивом

Мой PHP-код

<?php
    $url = '#';
    $content = file_get_contents($url);
    $ranktier = json_decode($content, true);

    echo $ranktier['rank_tier'];

    $firstnum = substr($ranktier, 1);
    echo $firstnum;

    $secendnum = substr($ranktier, 1);
    echo $secendnum;
?>

Ответы [ 3 ]

0 голосов
/ 12 октября 2018

Вы пропустили одну переменную здесь.Вместо

echo $ranktier['rank_tier'];

Это должно быть

$ranktier = $ranktier['rank_tier'];

$firstnum = substr($ranktier_num,0,1));
$secendnum = substr($ranktier_num,1,1));
0 голосов
/ 12 октября 2018

$ranktier - это массив.

При условии, что $ranktier['rank_tier'] - это строка 52, вы можете просто получить доступ к двум символам по их смещению.

$firstnum = $ranktier['rank_tier'][0];  // 5
$secendnum = $ranktier['rank_tier'][1];  // 2

Нетдля этой задачи требуются функции.

Если 52 еще не строка, приведите ее как единое целое.

$num = (string)$ranktier['rank_tier'];  integer 52 becomes "52"
$firstnum = $num[0];  // 5
$secendnum = $num[1];  // 2
0 голосов
/ 12 октября 2018
substr($ranktier['rank_tier'], 0, 1);

Ваша строка $ ranktier ['rankt_tier'], поэтому вы должны поместить строку в substr ().

...