PHP 警告:..../memberlist.php(876) 中的非法字符串偏移量 'username':第 6 行的 eval() 代码
PHP Warning: Illegal string offset 'username' in ..../memberlist.php(876) : eval()'d code on line 6
我正在尝试获取我的 vbulletin 论坛上成员的用户名,以便我可以使用他们名字的第一个字母作为头像。我尝试了正常的方式和其他一些方式,但我没有成功。我认为这是由于信息在数组中。这是我的第一个字母的代码。
//get the username
$username = $userinfo['username'];
//strip to get the first letter
$letterUsername['username'] = substr($username, 0, 1);
//capitalize the first letter
$letterUsername['username'] = strtoupper($letterUsername['username']);
//set it as a variable
$letterUsername = $letterUsername['username'];
当我在 memberlist.php 页面上 运行 这段代码时,标题出现错误。第876行是钩子:
($hook = vBulletinHook::fetch_hook('memberlist_bit')) ? eval($hook) : false;
如何使用上述代码获取页面上所有成员的用户名?我对数组没有太多经验,真的需要帮助。这是 memberlist.php 文件:https://pastebin.com/wfgLikJ2
您在此处的变量名称之前缺少一个 $
字符:$letterUsername = letterUsername['username'];
=> $letterUsername = $letterUsername['username'];
获取第一个字母并将其大写的另一种方法:
// I find it easier just to work with arrays, less functions to memorize
// [0] to get 0 index because str_split() converts string to an array
// Remember, functions are evaluated from innermost to outermost
$letterUserName = strtoupper(str_split($userinfo['username'])[0]);
// or NOT converting to an Array, both work
// [0] here because string characters can be accessed with []
// "Hello"[1] === "e"
$letterUserName2 = strtoupper($userinfo['username'][0]);
我尽量将尽可能多的内容放在一行中,否则你的代码将无法运行
从 200 行到 400 行超级快,让人不知所措。
我测试了一下,可以用^_^
我正在尝试获取我的 vbulletin 论坛上成员的用户名,以便我可以使用他们名字的第一个字母作为头像。我尝试了正常的方式和其他一些方式,但我没有成功。我认为这是由于信息在数组中。这是我的第一个字母的代码。
//get the username
$username = $userinfo['username'];
//strip to get the first letter
$letterUsername['username'] = substr($username, 0, 1);
//capitalize the first letter
$letterUsername['username'] = strtoupper($letterUsername['username']);
//set it as a variable
$letterUsername = $letterUsername['username'];
当我在 memberlist.php 页面上 运行 这段代码时,标题出现错误。第876行是钩子:
($hook = vBulletinHook::fetch_hook('memberlist_bit')) ? eval($hook) : false;
如何使用上述代码获取页面上所有成员的用户名?我对数组没有太多经验,真的需要帮助。这是 memberlist.php 文件:https://pastebin.com/wfgLikJ2
您在此处的变量名称之前缺少一个 $
字符:$letterUsername = letterUsername['username'];
=> $letterUsername = $letterUsername['username'];
获取第一个字母并将其大写的另一种方法:
// I find it easier just to work with arrays, less functions to memorize
// [0] to get 0 index because str_split() converts string to an array
// Remember, functions are evaluated from innermost to outermost
$letterUserName = strtoupper(str_split($userinfo['username'])[0]);
// or NOT converting to an Array, both work
// [0] here because string characters can be accessed with []
// "Hello"[1] === "e"
$letterUserName2 = strtoupper($userinfo['username'][0]);
我尽量将尽可能多的内容放在一行中,否则你的代码将无法运行 从 200 行到 400 行超级快,让人不知所措。
我测试了一下,可以用^_^