当我搜索结果时,我发现很多答案是mysql包含了针,PHP提供了干草堆...任何数组。
我反过来需要它。我的表有一个名为supervisor_ids
的列,其中包含诸如此类的数组...
a:2:{i:0;i:9999;i:1;i:1;}
在我的PHP代码中,我有一个保存在变量中的值... $supervisor
如何在“ supervisor_ids”列中搜索$ supervisor?
我会假设...
SELECT * FROM my_table WHERE $supervisor IN 'supervisor_ids'
,但无效
我刚刚发现,如果表列包含9999,1,5,678
之类的列表而不是数组... a:2:{i:0;i:9999;i:1;i:1;}
这行得通...
SELECT * FROM my_table WHERE FIND_IN_SET($supervisor,supervisor_ids)
当它是一个数组时,相当于搜索什么?
答案 0 :(得分:1)
您可以使用以下方法做到这一点:
myscores = 0:10:100;
output = zeros(1, length(myscores));
for ii = 1:length(myscores)
mark = myscores(ii);
if mark < 60
output(ii) = mark / 2;
elseif mark >= 60 && mark <= 70
output(ii) = mark;
elseif mark > 70
output(ii) = mark * 2;
else
disp('error on mark= ')
mark
end
end
matrix_out = [myscores' output'];
如果PHP中SELECT * FROM my_table WHERE supervisor_ids LIKE "%i:$supervisor;%";
的值为9,则实际查询为:
$supervisor
并将匹配所有像这样的序列化数组:
a:...:{...; i:9; ...;}
假设supervisor_ids列仅包含PHP序列化的数组,则应该可以正常工作。