Php 如何拆分两个字符的字符串并将其分配给单独的变量?

Php 如何拆分两个字符的字符串并将其分配给单独的变量?,php,arrays,json,split,Php,Arrays,Json,Split,我想使用子字符串从数组元素中拆分两个字符 例如,来自数组元素rank\u tier的数据是52 我想将5分配给$firstnumber和2分配给$secondnumber 我的错误代码是 遇到一个PHP错误 严重性:警告 消息:substr()要求参数1为字符串,数组给定 我的PHP代码 <?php $url = '#'; $content = file_get_contents($url); $ranktier = json_decode($content, tr

我想使用子字符串从数组元素中拆分两个字符

例如,来自数组元素
rank\u tier
的数据是
52

我想将
5
分配给
$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;
?>


您的字符串是$ranktier['rankt_tier'],因此您应该将字符串放入substr()。

此处缺少一个变量。 而不是

echo $ranktier['rank_tier'];
这应该是

$ranktier = $ranktier['rank_tier'];

$firstnum = substr($ranktier_num,0,1));
$secendnum = substr($ranktier_num,1,1));

$ranktier
是一个数组

假设
$ranktier['rank\u tier']
是一个字符串
52
,您只需通过“偏移量”访问这两个字符即可

此任务不需要任何函数

如果
52
还不是字符串,请将其转换为一个字符串

$num = (string)$ranktier['rank_tier'];  integer 52 becomes "52"
$firstnum = $num[0];  // 5
$secendnum = $num[1];  // 2

Message:substr()希望参数1是字符串,数组给定
为什么要对数组使用
substr
?它的后缀
str
清楚地表明它应该用于字符串。
52
是数组吗?听起来像一根弦。如果它是一个数组,则在其索引处访问它。其明显的$ranktier是一个数组substr需要一个字符串,因此错误
$firstnum = $ranktier['rank_tier'][0];  // 5
$secendnum = $ranktier['rank_tier'][1];  // 2
$num = (string)$ranktier['rank_tier'];  integer 52 becomes "52"
$firstnum = $num[0];  // 5
$secendnum = $num[1];  // 2