小编Nic*_*ick的帖子

如何使用php serialize()和unserialize()

我的问题非常基本.

我没有找到任何例子来满足我的需求,究竟serialize()unserialize()在PHP是什么意思?他们只举一个例子 - 序列化一个数组并以一种原因不明的格式显示输出.通过他们的术语很难理解基本概念.

编辑:

<?php

$a= array( '1' => 'elem 1', '2'=> 'elem 2', '3'=>' elem 3');
print_r($a);
echo ("<br></br>");
$b=serialize($a);
print_r($b);

?>
Run Code Online (Sandbox Code Playgroud)

输出:

Array ( [1] => elem 1 [2] => elem 2 [3] => elem 3 ) 

a:3:{i:1;s:6:"elem 1";i:2;s:6:"elem 2";i:3;s:7:" elem 3";}
Run Code Online (Sandbox Code Playgroud)

我无法理解第二个输出.除此之外,任何人都可以举例说明我需要在使用之前序列化一个php数组吗?

php

118
推荐指数
6
解决办法
23万
查看次数

如何对浮点数和复数进行近似结构模式匹配

我读过并理解浮点舍入问题,例如:

>>> sum([0.1] * 10) == 1.0
False

>>> 1.1 + 2.2 == 3.3
False

>>> sin(radians(45)) == sqrt(2) / 2
False
Run Code Online (Sandbox Code Playgroud)

我还知道如何使用math.isclose()cmath.isclose()解决这些问题。

问题是如何将这些解决方法应用到 Python 的 match/case 语句中。我希望这个工作:

match 1.1 + 2.2:
    case 3.3:
        print('hit!')  # currently, this doesn't match
Run Code Online (Sandbox Code Playgroud)

python floating-point complex-numbers approximate structural-pattern-matching

55
推荐指数
2
解决办法
3495
查看次数

PostgreSQL JOIN与数组类型的数组元素顺序,如何实现?

我在数据库中有两个表:

CREATE TABLE items(
 id SERIAL PRIMARY KEY,
 ... some other fields
);
Run Code Online (Sandbox Code Playgroud)

此表包含具有唯一ID的数据行.

CREATE TABLE some_chosen_data_in_order(
 id SERIAL PRIMARY KEY,
 id_items INTEGER[],
);
Run Code Online (Sandbox Code Playgroud)

);

该表包含数组类型字段.每行包含items特定顺序的表中ID的值.例如:{2,4,233,5}.

现在,我想从表中获取表items中所选行的数据,some_chosen_data_in_order以及数组类型中元素的顺序.

我的尝试是加入:

SELECT I.* FROM items AS I 
JOIN some_chosen_data_in_order AS S ON I.id = ANY(S.id_items) WHERE S.id = ?
Run Code Online (Sandbox Code Playgroud)

第二次尝试是子查询,如:

SELECT I.* FROM items AS I 
WHERE I.id = ANY 
(ARRAY[SELECT S.id_items FROM some_chosen_data_in_order  WHERE id = ?])
Run Code Online (Sandbox Code Playgroud)

但是它们都没有以与数组字段相同的顺序保存ID.你能帮我吗,如何从items表中获取数据,并从some_chosen_data_in_order表格中获取特定行的数据ID顺序?

sql arrays postgresql join

33
推荐指数
3
解决办法
5万
查看次数

匹配嵌套HTML表的表高度

我正在尝试在表行中嵌套表,同时保持单个表的外观,如下面的示例所示(一个表包含一行数据值和两个嵌套表,一个是2x2,另一个是3x3):

在此输入图像描述

这只是一个例子; 实际的表有更多的行和列.我想使用表,因为列宽和行高的自然回流以适应表数据而不必担心容器大小(即表宽度= 100%).

我遇到的问题是最高的表设置行高,但其他表不会扩展以填充该高度,因此内部边框不会从上到下拉伸,如此片段的结果所示:

.display {
	border-collapse: collapse;
}
.display, .display td, .display th {
	border: 1px solid black;
}
.subtable {
	border-collapse: collapse;
}
.subtable td {
	border-top: 0;
	border-bottom: 1px solid black;
	border-left: 0;
	border-right: 1px solid black;
}
.subtable tr td:last-of-type {
	border-top: 0;
	border-bottom: 1px solid black;
	border-left: 0;
  border-right: 0;
}
.subtable tr:last-of-type td {
	border-top: 0;
	border-bottom: 0;
	border-left: 0;
	border-right: 1px solid black;
}
.subtable tr:last-of-type td:last-of-type {
	border: 0;
}
td …
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery html-table

15
推荐指数
3
解决办法
1466
查看次数

在DELETE查询中绕过自引用

我正在尝试删除所有不是其名称下的最新版本的记录,但显然您无法在同一查询中引用正在修改的表.

我试过这个,但由于上述原因,它不起作用:

DELETE FROM table
WHERE CONCAT(name, version ) NOT IN (
SELECT CONCAT( name, MAX( version ) )
FROM table
GROUP name
)
Run Code Online (Sandbox Code Playgroud)

我怎么能绕过这个?

干杯

mysql

7
推荐指数
2
解决办法
2012
查看次数

vscode中正则表达式的不完整量词

我正在尝试为对象的开头创建一个正则表达式,以便我可以"在 vscode 的查找和替换中用一个完整的块替换块。

我的正则表达式

("id":{"\$oid":)[0-9]+(},"product_id":)[0-9]+(,")
Run Code Online (Sandbox Code Playgroud)

我的样本输入

{"id":{"$oid":973},"product_id":973,"product_name":"Scotch - Queen Anne","product_amount":92,"product_group":"not perishable","distribution_to":"The Salvation Army Visalia - Neighborhood Market","distribution_from":"MCFB","expiration_date":"8/24/2020","pack_date":"4/19/2021","sell_by_date":"12/6/2020","use_by_date":"2/18/2021","created_at":"2020-04-24 03:15:40 -0400","updated_at":"2020-04-24 03:15:40 -0400"},
Run Code Online (Sandbox Code Playgroud)

我已经在这些网站上成功测试了这个表达式:regex101.com、regexr.com,但是,当我粘贴到我的 vscode 中时仍然出现错误。

在此处输入图片说明

regex visual-studio-code

7
推荐指数
1
解决办法
2156
查看次数

如何在生产中代理 Vue.js 中的 URL 调用?

在开发中,我有本地 vue.js 项目和开发服务器。我遵循了这个指南:

http://vuejs-templates.github.io/webpack/proxy.html

设置proxyTable以便每当我使用 向开发服务器进行RESTAxios调用时,它都会重定向到我的开发服务器而不是 vue url。

当我部署到 prod 时,我的 vue 构建包被部署到 S3 ,而我的其余服务器位于EBS中。它们位于不同的子域中。所以我的 Vue 还需要为所有REST调用设置代理。但是, vuejs&webpack不允许在配置文件中使用 proxyTablebuild部分。处理这个问题的最佳方法是什么?

我的配置:

module.exports = {
  build: {
    env: 'prod',
    productionSourceMap: true,
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
    proxyTable: {
      '/api': {
       logLevel: 'info',
       target: 'http://myRestServer.com/...',
       changeOrigin: true,
       pathRewrite: {
         '^/api': '/'
       }
      }
    }, 
  },
 dev: {
   proxyTable: {
     '/api': {
      logLevel: 'info',
      target: 'http://127.0.0.1:3005',
       changeOrigin: true,
      pathRewrite: {
         '^/api': '/'
      } …
Run Code Online (Sandbox Code Playgroud)

proxy webpack vue.js

5
推荐指数
1
解决办法
6701
查看次数

Google Chrome 扩展 - 有没有办法向任何选项卡上的文本选择/突出显示事件添加侦听器

每次用户选择/突出显示任何选项卡上的某些文本时,我都试图触发一段代码。

当我突出显示某些文本然后单击我的扩展程序时,我可以运行 javascript。我已经阅读了一些 chrome api,但它们似乎都不起作用。 https://developer.chrome.com/extensions/api_index

chrome.browserAction.onClicked.addListener(function() {
    alert(window.getSelection().toString());
});
Run Code Online (Sandbox Code Playgroud)

当我突出显示某些文本时,我无法立即运行代码。是否有一个 API 已经可以处理这个问题了?

javascript google-chrome-extension

5
推荐指数
1
解决办法
2082
查看次数

MySQL通配符使用LIKE过滤特殊字符

我的 SQL 查询是:

SELECT * FROM listings  WHERE title LIKE '%Debbie\'s Pet Grooming%' 
Run Code Online (Sandbox Code Playgroud)

但是,当我运行此查询时,我没有得到任何结果。你能建议一下原因吗?我的数据库表如下:

在此输入图像描述

php mysql

5
推荐指数
1
解决办法
685
查看次数

检查字典键是否存在且具有值的有效方法

假设有一本字典,如下所示:

d = {"key1": "value1", "key2": {"key3": "value3"}}
Run Code Online (Sandbox Code Playgroud)

字典可能包含也可能不包含key2,也key2可能为空。因此,为了获取value3,我需要检查key2其值是否存在非空值,这同样适用key3

现在明显愚蠢的解决方案是这样的:

if 'key2' in d:
    if d['key2']:
        if 'key3' in d['key2']:
            value = d['key2']['key3']
Run Code Online (Sandbox Code Playgroud)

现在,我想知道是否有一个更简单的解决方案,这样我就不必if连续写 3 秒。

python dictionary key-value

5
推荐指数
2
解决办法
6090
查看次数