ThinkPHP5.1模板函数取出是数组,该怎么取出数组的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ThinkPHP5.1模板函数取出是数组,该怎么取出数组的值相关的知识,希望对你有一定的参考价值。

例如$Think.session.user_id|getUser 取出是一个二维数组 要怎样获取数组中的username值,有什么办法,急求!!!!!

参考技术A TP返回模板的数组。可以直接用大括号以php代码形式输出。
比如。控制器返回$this->assign('list',$list);

$data是一个二维数组的话就直接在模板文件$list.键就可以输出对应的值了。
view返回的话也一样。返回的值用一个二维数组也就跟多个$this->assign是一样的了。

输出模板的标签有很多个的。TP的帮助文档在看云。可以自己去看看的。
欢迎追问
参考技术B

如果是复杂的运算,例如是你提问里面的二维数组,个人建议就不要放在模板语法中处理了,直接在后台代码处理好再传过来吧

参考技术C $Think.session.user_id|getUser

这段代码的是 调用

getUser($Think['session']['user_id']) 
如你所说返回了一个二维数组,

那么你可以重新再定义一个方法
getUserName(getUser($Think['session']['user_id']))
在二维数组里面遍历出 username不就好了,
getUserName再封装一层

在模版里面处理数组比较复杂,建议在model中处理完了,assign过来

本回答被提问者采纳
参考技术D 你是不是想在页面中输出用户登录之后的用户名,
如果是,可以使用<?php echo session('name','','作用域'); ?>
第5个回答  2019-03-21

1.最好是把用户资料注册到数据表里

$this->assign('user',getUser(session('user_id')));

//然后在模板文件调用
$user['username']

2.或者直接用函数调用的方法[不推荐]

:getUser(session('user_id'))['username']

3.或者用php标签

php$user = getUser(session('user_id'));/php

<div>$user['username']</div>

CString 取字符串

比如我有一个CString A;
A为1,abc,ddd,aaa,c,b
我怎么根据第几个逗号来取出字符串。
比如我想一个一个取出来保存。怎么比较好
用2个FIND好像比较麻烦

请指教。
我不想分割成数组,因为长度并不是固定的。动态申请内存弊端很大。
把我举出的例子做出来就行。比如我就想取出第3个逗号后的数据。
我是做C的,CString不熟悉。

在线等

帮你写了一个函数:

//通过“,”分割提取字符串
//参数str:被提取的字符串
//参数strArray:提取后的字符串放到这个动态数组中
//返回值:提取出的字符串个数
int ExtString(CString str, CStringArray &strArray)

CString strTemp;
int nCount = 0;

strArray.RemoveAll();

while(str.Find(_T(",")) != -1)//查找字符串中是否有“,”出现

strTemp = str.Left(str.Find(_T(",")));//提取字符串
str = str.Right(str.GetLength() - str.Find(_T(","))-2);//剩下的字符串
strArray.Add(strTemp);//提取出的字符加入动态数组

nCount++;


//最后一个字符串
if(str.GetLength()>0)

strArray.Add(str);//提取出的字符加入动态数组
nCount++;


return nCount;


//这样使用:
CString A = _T("1,abc,ddd,aaa,c,b");

CStringArray strArray; //这是一个动态字符串数组

int n = ExtString(A,strArray);

for(int i=0; i<n; i++)
//显示出所以字符串
CString str;
str.Format("字符串%d", i+1);
MessageBox(strArray[i],str);


有问题可以百度HI上找我。
参考技术A .........写个算法,把CString分割成数组
按数组下标来取,多爽,以后还可重复利用这算法
参考技术B 按“,”把它变成数组 参考技术C AfxExtractSubString自己去查

以上是关于ThinkPHP5.1模板函数取出是数组,该怎么取出数组的值的主要内容,如果未能解决你的问题,请参考以下文章

matlab怎么取出矩阵的某行

PHP中怎么从一个二维数组中随机取出一个值?

在php中如何取键?

CString 取字符串

java中得到一个list,但只要取list的前3行数据,该怎么写啊

Java中怎么取出数组中某个单位的某个值进行排序?